Jump to content


Photo

Problemas Para Gerar Pdf Com Dados Do Banco


  • Faça o login para participar
2 replies to this topic

#1 AdrianoR

AdrianoR

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Não informado

Posted 01/10/2009, 11:51

OLá pessoal.
Estou aqui tentando gerar um arquivo pdf das informações contidas no banco de dados. Depois de fazer uma busca no banco de dados, escolho o item que preciso gerar as informções no PDF, mas o que acontece é que gera sempre o primeiro dado do banco de dados..o que estou fazendo de errado? Segue o script que tenho...

[codebox]<!--#include file="fpdf.asp"-->
<%
dim recordset1
dim Recordset1_numRows
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = "DBQ=C:\rede\SI.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Recordset1.Source = "SELECT * FROM intima ORDER BY nome"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0


dim pdf
// criando o pdf

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 fonte e tamanho
pdf.SetFont "times","",12

// setando grossura da linha
pdf.SetLineWidth(0.4)


// 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.
pdf.Line "7","52","200","52"
// 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.

// escrevendo um texto
pdf.Text "70","35","ESTADO DO RIO GRANDE DO SUL"
pdf.Text "90","40","POLÍCIA CIVIL"
pdf.Text "92","45","DPM / DPRPA"
pdf.Text "60","50","DÉCIMA SEGUNDA DELEGACIA DE POLÍCIA"

pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)


// na linha acima setamos primeiro a função Text, depois aonde começamos a escrever apartir do x e y e por fim o texto a ser adcionado
// presta-se atenção aki, pois quem precisa fazer uma leitura de banco de dados ou resgatar uma session para ser impressa no pdf, n se pode usar as ' ' na função de texto
nomIma = "logopc.jpg"
pdf.Image nomIma, 93, 10, 20, 20, "JPG", "http://www.se_quizer...ai_o_link.html"
// pdf.Image(string logopc.jpg, float 3, float 8, float 4 [, float h [, string type [, mixed link]]])

// fechando o pdf

pdf.Output()
%>[/codebox]

#2 phoennix

phoennix

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 01/10/2009, 14:48

OLá pessoal.
Estou aqui tentando gerar um arquivo pdf das informações contidas no banco de dados. Depois de fazer uma busca no banco de dados, escolho o item que preciso gerar as informções no PDF, mas o que acontece é que gera sempre o primeiro dado do banco de dados..o que estou fazendo de errado? Segue o script que tenho...

<!--#include file="fpdf.asp"--><%dim recordset1dim Recordset1_numRowsset Recordset1 = Server.CreateObject("ADODB.Recordset")Recordset1.ActiveConnection = "DBQ=C:\rede\SI.mdb;Driver={Microsoft Access Driver (*.mdb)};"Recordset1.Source = "SELECT * FROM intima ORDER BY nome"Recordset1.CursorType = 0Recordset1.CursorLocation = 2Recordset1.LockType = 3Recordset1.Open()Recordset1_numRows = 0dim pdf// criando o pdfset 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 folhapdf.CreatePDF "P","mm","A4"pdf.SetPath("fpdf/")pdf.Open()// adcionando páginapdf.AddPage()// setando fonte e tamanhopdf.SetFont "times","",12// setando grossura da linhapdf.SetLineWidth(0.4)// 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.pdf.Line "7","52","200","52"// 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.// escrevendo um textopdf.Text "70","35","ESTADO DO RIO GRANDE DO SUL"pdf.Text "90","40","POLÍCIA CIVIL"pdf.Text "92","45","DPM / DPRPA"pdf.Text "60","50","DÉCIMA SEGUNDA DELEGACIA DE POLÍCIA"pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)// na linha acima setamos primeiro a função Text, depois aonde começamos a escrever apartir do x e y e por fim o texto a ser adcionado// presta-se atenção aki, pois quem precisa fazer uma leitura de banco de dados ou resgatar uma session para ser impressa no pdf, n se pode usar as ' ' na função de textonomIma = "logopc.jpg"pdf.Image nomIma, 93, 10, 20, 20, "JPG", "http://www.se_quizer_aqui_vai_o_link.html"// pdf.Image(string logopc.jpg, float 3, float 8, float 4 [, float h [, string type [, mixed link]]])// fechando o pdfpdf.Output()%>



è simples... vc precisa da um While para que puxe todos os dados do BD:

Nessa linha:
pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)

Seria:
While (NOT recordset1.EOF)
	 pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)
recordset1.MoveNext()
wend

Abraços

#3 luciano_07

luciano_07

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 11/12/2010, 18:43

OLá pessoal.
Estou aqui tentando gerar um arquivo pdf das informações contidas no banco de dados. Depois de fazer uma busca no banco de dados, escolho o item que preciso gerar as informções no PDF, mas o que acontece é que gera sempre o primeiro dado do banco de dados..o que estou fazendo de errado? Segue o script que tenho...

<!--#include file="fpdf.asp"--><%dim recordset1dim Recordset1_numRowsset Recordset1 = Server.CreateObject("ADODB.Recordset")Recordset1.ActiveConnection = "DBQ=C:\rede\SI.mdb;Driver={Microsoft Access Driver (*.mdb)};"Recordset1.Source = "SELECT * FROM intima ORDER BY nome"Recordset1.CursorType = 0Recordset1.CursorLocation = 2Recordset1.LockType = 3Recordset1.Open()Recordset1_numRows = 0dim pdf// criando o pdfset 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 folhapdf.CreatePDF "P","mm","A4"pdf.SetPath("fpdf/")pdf.Open()// adcionando páginapdf.AddPage()// setando fonte e tamanhopdf.SetFont "times","",12// setando grossura da linhapdf.SetLineWidth(0.4)// 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.pdf.Line "7","52","200","52"// 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.// escrevendo um textopdf.Text "70","35","ESTADO DO RIO GRANDE DO SUL"pdf.Text "90","40","POLÍCIA CIVIL"pdf.Text "92","45","DPM / DPRPA"pdf.Text "60","50","DÉCIMA SEGUNDA DELEGACIA DE POLÍCIA"pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)// na linha acima setamos primeiro a função Text, depois aonde começamos a escrever apartir do x e y e por fim o texto a ser adcionado// presta-se atenção aki, pois quem precisa fazer uma leitura de banco de dados ou resgatar uma session para ser impressa no pdf, n se pode usar as ' ' na função de textonomIma = "logopc.jpg"pdf.Image nomIma, 93, 10, 20, 20, "JPG", "http://www.se_quizer_aqui_vai_o_link.html"// pdf.Image(string logopc.jpg, float 3, float 8, float 4 [, float h [, string type [, mixed link]]])// fechando o pdfpdf.Output()%>



è simples... vc precisa da um While para que puxe todos os dados do BD:

Nessa linha:
pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)

Seria:
While (NOT recordset1.EOF)
	 pdf.Text "60","90",(recordset1.Fields.Item("nome").Value)
recordset1.MoveNext()
wend

Abraços



Olá estava vendo este cod. muito bom por sinal, só não consegui que quebrasse a linha
tipo o resultado do banco fica todo na mesma linha, como fazer para listar ??

obrigado a todos




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq