Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Imagem JPG no FPDF


DELPHI-Man32

Pergunta

olá pessoa, fiz uma busca e encontrei em parte o que preciso, gerar pdf com dados do mdb! ok, encontrei e adaptei. mas não encontrei nada sobre a função Image() do Fpdf!

tentei usar, mas não da certo, estou usando o ASP para gerar o arquivo;

gostaria de uma luz para poder insetir uma logo da empresa no relatorio, no topo

acima do noma da empresa!!!!

tentei.

pdf.image("logo.jpg",10,50,0,0)

mas deu erro dizendo que não posso usar parenteses para chamar a função!

valeu

Editado por Jonathan Queiroz
Remover caixa alta do título (Jonathan)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Então é assim:

Antes de criar o objeto você deve mencionar uma variável com a sua imagem, ex.:

imagem = "imagem.jpg"
Set pdf=CreateJsObject("FPDF")
Depois, logo após abrir e de adicionar uma página com o addpage você deve setar a imagem, assim (posicionando onde você quiser):
pdf.Open()
pdf.AddPage()
pdf.Image imagem, 0, 0, 210, 290, "JPG", "http://www.seudominio.com.br/imagem.jpg"

Era isso, tente aí e qualquer coisa prende o grito, lembrando que a sintaxe usada é vbscript.

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

valeu Rafa! eu tinha feito isso, mas acontece um erro que não sei porquê!

veja só!

quando desenho a imagem no relatório, ele fica desorganizado os dados do loop que pegaos valores do banco de dados!

já quando eu deixo sem imagem, ele gera o raltório certinho!

segue os links!

Com a imagem no relatorio!

pdf com imagem

sem a imagem

sem imgame

com logo, mas sem os dados do banco(sem loop)

com logo, mas sem os dados do banco(sem loop)

veja ai e me diz! o que pode estae errado...

abração

segue o script!

<%@LANGUAGE="VBSCRIPT"%>
<%
Dim RelatorioPDF, i,a,y
Dim RelatorioPDF_numRows

'variaveis com as coordenadas para impressao de textos do loop
i = 40
'coordenadas gerais
a = 10
y = 30
z = 35


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "PROVIDER=Microsoft.JET.OLEDB.4.0; Data Source="& Server.MapPath("*********")

Set RelatorioPDF = Conn.Execute("select * from ESCOLAS order by nome asc")
Set TotalEscolas = Conn.Execute("select count(id) as Total from ESCOLAS")
Set TotalSalas   = Conn.Execute("select SUM(salas) as Salas from ESCOLAS")

RelatorioPDF_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
RelatorioPDF_numRows = RelatorioPDF_numRows + Repeat1__numRows
%>
<!--#include file="fpdf.asp"-->
<%
dim pdf, caminho
'// criando o pdf
logo = "logo.jpg"
set pdf = CreateJsObject("FPDF")

'// aki poderemos adcionar várias funções como titulos padroes para todas as páginasm numeração de páginas e etc.

'// montando o corpo do pdf, setando o tipo da folha, tipo de medida e o tamanho da folha
pdf.CreatePDF "P","mm","A4"
pdf.SetPath("fpdf/")
pdf.Open()

'// adcionando página
pdf.AddPage()


'// setando grossura da linha
pdf.SetLineWidth(0.3)

'// setando fonte e tamanho
pdf.SetFont "Arial","B",12
'texto do topo do documento
pdf.Text "10","15","PREFEITURA MUNICIPAL DE JACUNDÁ"

pdf.SetFont "Arial","",10
pdf.Text "10","19","SECRETARIA MUNICIPAL DE EDUCAÇÃO"
pdf.Text "10","23","SIMAE - Sistema Integrado de Matrículas e Acompanhamento Escolar"
pdf.Text "10","29","Relatório Simplificado: ESCOLAS CADASTRADAS"

'// setando linhas, reapare que, as medidas são feitas em x1, y1, x2 e y2, començando no ponto inicial de x e y e finalizando nos mesmo.
'// criamos aki uma linha horizontal, a linha pode ser feita de qualquer jeito, vertical, diagonal e td mais, somente setando os valores de x e y.
pdf.Line "10",31,"200",31

pdf.SetFont "Arial","B",8
'// escrevendo um texto
pdf.Text "10",z,"TIPO:"
pdf.Text "25",z,"NOME:"
pdf.Text "75",z,"LOCALIZAÇÃO:"
pdf.Text "100",z,"CÓD. INEP:"
pdf.Text "129",z,"SALAS:"
pdf.Text "145",z,"DIRETOR:"

pdf.Line "10",36,"200",36

pdf.SetFont "Arial","",8
While NOT RelatorioPDF.EOF
pdf.Text "10",i,RelatorioPDF.Fields.Item("moda").Value
pdf.Text "25",i,RelatorioPDF.Fields.Item("nome").Value
pdf.Text "75",i,RelatorioPDF.Fields.Item("localiza").Value
pdf.Text "100",i,RelatorioPDF.Fields.Item("inep").Value
pdf.Text "130",i,RelatorioPDF.Fields.Item("salas").Value
if RelatorioPDF.Fields.Item("diretor").Value = "" then 
pdf.Text "145",i,"*******************" 
else
pdf.Text "145",i,RelatorioPDF.Fields.Item("diretor").Value
end if
i = i+5
RelatorioPDF.MoveNext()
Wend
pdf.Line "10",i,"200",i
pdf.Text "10",i+5,"Total de Escolas: "& TotalEscolas("Total") &", Total de Salas de Aula: "& TotalSalas("Salas")
pdf.Text "10",i+10,"Relatório Gerado em: "& Day(Now)&"/"&Month(Now)&"/"&Year(Now) &" às "& Time()

pdf.Close()
pdf.Output()
%>
<%
RelatorioPDF.Close()
Set RelatorioPDF = Nothing
%>

Editado por DELPHI-Man32
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa a demora... eu estava em férias viajando...

Acredito que o que esteja acontecendo é um errinho na distribuição das linhas...

O set de x e y pode ser feito de uma outra forma, mais visual e que permite descobrir melhor o porque da distribuição estar errada...

Veja essa estrutura abaixo de exemplo:

'setando quebra de linha!
q = 4
'setando tamanho da fonte
t = 9
pdf.SetY(35)
pdf.SetX(10)
'cabeçalho
pdf.SetFont "Arial","B",t
pdf.MultiCell 0,q,"Cabeçalho",0,0,0
No seu caso eu usaria isto dessa forma, ou seja:
'setando quebra de linha!
q = 4
'setando tamanho da fonte
t = 9
pdf.SetY(35)
pdf.SetX(10)
'cabeçalho
pdf.SetFont "Arial","B",t
pdf.MultiCell 0,q,"Cabeçalho",0,0,0


pdf.SetY(55)
pdf.SetX(10)
'inicio do loop
pdf.SetFont "Arial","B",t
pdf.MultiCell 0,q,"Linha 1 do loop",0,0,0

'assim por diante...

Da forma acima vai ficar mais claro onde começa um e termina outro... saca?

Tentaí e ve o que acontece...

[]'s

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...