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

Usando ImportFromURL com ASPPDF usando template pdf


Matheus Melo

Pergunta

Olá amigos,

Estou criando um pdf baseado em template pdf, usando o componente asppdf, fazendo o importFromURL, porém no pdf template tem uma imagem no cabeçalho e outra no rodapé com informações, gostaria que ele repetisse esse cabeçalho em todas as páginas, como o conteúdo é dinâmico vindo de um editor fckeditor onde os dados vão ser preenchidos e dpois exportados para o pdf, no caso a quantidade de páginas é variável então quando o conteúdo ocupa mais de uma página a segunda página não aparece o cabeçalho nem o rodapé, fica o texto em uma página em branco.
Segue o código q estou usando:
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.OpenDocument( Server.MapPath( "pdf/template.pdf" ) )
If Doc Is Nothing Then
Response.Write "This PDF is password-protected."
' Obtain a password from user and try again
Set Doc = Pdf.OpenDocument(Server.MapPath( "pdf/template.pdf" ), Pwd)
End If
cnt = cnt & request.Form("editor")
Doc.ImportFromUrl "http://www.site.com.br/gerahtmlpdf.html", "scale=0.6; hyperlinks=true; drawbackground=true"
Filename = Doc.Save( Server.MapPath("pdfgerado.pdf"), False )
Response.Redirect ("pdfgerado.pdf")
Alguém pode me ajudar ??
Preciso resolver isso com certa ugência.
Desde já agradeço a atenção de todos.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa consegui resolver dpois de massantes horas de pesquisa e estudo da documentação, a solução é sempre simples, mas até achar é aquele corre corre. Vamos lá, segue o código que usei caso mais alguém precise disto no futuro.

Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.OpenDocument( Server.MapPath( "pdf/templatelocafaz.pdf" ) )
fPageWidth = Doc.Pages(1).Width
fPageHeight = Doc.Pages(1).Height
Set objDoc = Pdf.CreateDocument()
Set objGraph = objDoc.CreateGraphicsFromPage(Doc, 1)
' Aqui eu gravo o código html gerado através do editor wysiwyg fckeditor em uma tabela no banco de dados
cnt = cnt & request.Form("editor")
sql = "update cotacaopdf set htmlpdf = '" & cnt & "' where id = 1"
dbconn sql
CloseDbConn()
'Aqui eu importo o mesmo html gerado acima através da pagina gerahtmlpdf q pega o código gravado na tabela acima e mostra abaixo da tag body, já definindo as margens e tamanho da página, no caso A4
objDoc.ImportFromUrl "http://www.site.com.br/gerahtmlpdf.asp", "scale=0.6; hyperlinks=true;pageWidth=595;pageHeight=842;LeftMargin=23;RightMargin=23;TopMargin=110;BottomMargin=95"
' Neste For eu pego cada págian do documento e repito a arte do template em pdf q fiz usando illustrator, já com o cabeçalho e rodapé.
For Each Page in objDoc.Pages
Page.Canvas.DrawGraphics objGraph, "x=0; y=0"
Next
'Dpois só gravar o pdf e visualizá-lo
Filename = objDoc.Save( Server.MapPath("pdfgerado.pdf"), False )
Response.Redirect ("pdfgerado.pdf")
Ufa, foi duro conseguir isso mas tá aí, espero que sirva pra mais alguém e q encurta o tempo de pesquisa na internet.
Um abraço a todos.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...