Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sowrever

Gerando um pdf em ASP

Recommended Posts

Alguem saberia me explicar como funciona isso?:pdf.Cell 35, 35, "String1" , 0, 0, "L"Gostaria de saber o que são cada valores...Algume pode me ajudar?e usando esse comando como faço para iniciar uma nova linha?Valews!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae pessoal, como não achei um exemplo q puxesse os resultados de um Banco de dados ae esta um exemplo bem enxuto, bom proveito... (como tinha que ser feito em JScript entaum foi novidade para mim, agradecimentos ao LucasBr que me mostrou uma referencia de JScript )

 

 

var RS 	= Server.CreateObject("ADODB.Recordset"); 	connStr = "Provider=SQLOLEDB;Data Source="+data_source+";database="+database+";uid="+uid+";pwd="+pwd+";"	RS.CursorLocation	= 3; // adUseClient; 	RS.CacheSize		= 10; 	var sql = " SELECT vc_nome FROM tb_cliente WITH(NOLOCK)"	RS.open(sql,connStr); 	if (RS.eof) {		  acaoA = 7;	  } else {		acaoA = 8;				var caminho = Server.MapPath("../pdfs/cliente/" + id_pdf + ".pdf")		// criando o pdf		pdf = new 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.Open();				pdf.SetTitle("Relatório de Clientes");		pdf.Header("Relatório de Clientes");		// Setando o criador do documento		pdf.SetCreator('Gerenciador de Conteúdo')				// setando fonte e tamanho		pdf.SetFont('Times','',12);		// setando grossura da linha		pdf.SetLineWidth(0.2);		pag 	= 1;		posX 	= 7;		posY 	= 7;				pdf.SetX = posX;				while(RS.EOF == false){			if ( (pag == 1) || (pag % 50 == 0) ) {				// adcionando página				posX = 7;				posY = 7;				pdf.AddPage();								pdf.Text('7',posY,"Nomes:");				pdf.Line('7',posY+1,'221',posY+1);				posY += 7;			}			pdf.Text('7',posY,RS("vc_nome"))									posY 	+= 7;			pag 	+= 1;				RS.MoveNext;		}				pdf.Output(caminho,'F' );	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

O PDF é aberto no browser, então, temos que clicar no botão de salvar e é aberta a janela de salvar arquivo, sendo possível salvar esse PDF com qualquer nome que o usuário quiser.

Olá fernanda! É o seguinte. Andei pesquisando na net sobre o assunto e achei a seguinte solução.1.º Procure o texto abaixo no arquivo fpdf.asp
xf=lib.fopen(xfile,"wb"); if(xf.number)this.Error("Unable to create output file: " + xfile); lib.fwrite(xf,this.buffer); lib.fclose(xf);
insira esta linha antes deste código
xfile=Server.MapPath(xfile)
pode tentar que funciona Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom mesmo amigo!Mas eu tenho um pdf pronto. Só preciso jogar os dados nele nos lugares corretos.Sabe como posso fazer isto? Acredito que o trabalho seria menor.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas, POR FAVOR, sabe me dizer porque não consigo abrir o meu pdf no browser? Ao invés disso surge:%PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream 2 J 0.57 w BT /F1 12.00 Tf ET 1.13 w 19.84 773.86 m 569.76 773.86 l S BT 19.84 773.86 Td (Isto é um teste. Espero que funcione!) Tj ET endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 2 0 obj <> >> endobj 6 0 obj << /Producer (FPDF for ASP v.1.01 beta by Lorenzo Abbati [www.aspxnet.it]) /CreationDate (D:2006101413059) >> endobj 7 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 8 0000000000 65535 f 0000000271 00000 n 0000000456 00000 n 0000000009 00000 n 0000000087 00000 n 0000000358 00000 n 0000000544 00000 n 0000000669 00000 n trailer << /Size 8 /Root 7 0 R /Info 6 0 R >> startxref 772 %%EOF AJUDA, POR FAVOR.....Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi pessoal, como não achei um exemplo que puxasse os resultados de um Banco de dados aqui um exemplo bem enxuto, bom proveito... (como tinha que ser feito em JScript então foi novidade para mim, agradecimentos ao LucasBr que me mostrou uma referencia de JScript )

 

O que dizer?? apenas um valeu!, mas Valeu mesmo! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia pessoal

 

sou novo em assuntos web

 

gostei muito de todo o material postado copiei o codigo para criar arquivo pdf baixei todos os arquivos da pasta fpdf.

 

 

A minha dúvida é :

 

 

O código abaixo é colocado junto com a página que desenvolvi? Ou preciso criar um link para chamar esta página?

 

 

Por favor que puder me ajudar ficarei muito agradecido

 

 

Obrigado pela atenção.

 

 

 

<%@language=javascript%>

<!--#include file="fpdf.asp"-->

<%

 

// criando o pdf

pdf=new 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','24','201','24')

// 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('7','24','O Agente Linhares me deu um Warm')

// 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

 

// fechando o pdf

 

pdf.Output();

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, desculpem reabrir este aqui...

 

Mas estou tentando personalizar uma página... que tem que ter as seguintes dimensoes: 154mm de largura por 215mm de altura...

 

tentei das seguintes formas:

desse jeito:

pdf.CreatePDF('P','mm','154,215');

deu esse erro:

FPDF error: Unknown page format: 154,215

 

e

 

desse jeito

pdf.CreatePDF('P','mm','154','215');

deu esse erro:

FPDF error: Unknown page format: 154

 

 

será que alguém sabe como fazer isso?

 

 

Além desse erro, já aproveitando... estou com outro problema tb... que é o seguinte:

 

eu to tentando recuperar os valores dos bancos assim:

 

nome = Request.Form("nome")
dest = Request.Form("dest")

....

pdf.SetX(10);
pdf.MultiCell(190,5,nome,1,'C',0);
pdf.SetX(10);
pdf.Cell(95,5,"teste",1,0,'C',0);
pdf.Cell(95,5,"teste1",1,1,'C',0);
pdf.SetX(10);
pdf.Cell(65,5,dest,1,0,'C',0);

Qd no form anterior eu deixo o cmpo txt em branco e preencho o nome... vai que é uma beleza... mas sempre que o campo dest não está vazio dá esse erro aqui:

 

Microsoft JScript runtime error '800a01b6'

 

Object doesn't support this property or method

 

/teste/fpdf.asp, line 345

 

e essa linha vem a ser:

 

for(xi=0;xi<xl;xi++)xw = xw + (xcw[xs.charAt(xi)]);

 

será que rola mais alguma força?

 

valew

 

Notax

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei notax, é muito fácil resolver o primeiro problema, basta:

 

- abrir o arquivo fpdf.asp

- localizar a frase: else if(xformat=="a4")

- acrescentar abaixo desta linha as seguintes configurações para o novo formato de papel:

else if(xformat=="ax")xformat=new Array(154,215);

- salve o arquivo

- na sua página principal (a que gera o pdf), alterar o tipo de papel para "ax" assim:

pdf.CreatePDF('P','mm','ax');

 

PRONTO http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

Estou usando a classe PDF para ASP com VB Script.

Tenho um programa que captura os dados para filtro e chama o Relatório em PDF com Javascript: Window.Open .

Esse relatório é responsável por fazer a query e exibir os dados.

O meu problema é que, depois que os dados são processados e exibidos, o título da janela passa a ser a URL do relatório com os parâmetros passados.

Já tentei usar a Tag <title>, mudar o titulo no Javascript da chamada e usando o comando SetTitle do fpdf, mas tudo foi inútil.

Alguém poderia me dar uma dica do que estou fazendo errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dê um print de como esta aparecendo e o codigo de como esta fazendo!

 

A janela aparece com o título informado, porém depois que o pdf é processado e exibido, o título é alterado para mostrar o caminho utilizado

(http://localhost/ ... /ListaBemCodMaterial_PDF.asp?universo=0&grupo=&Classe=& - Windows Internet Explorer)

 

A Chamada:

<script language="javascript">
       testwindow= window.open('', 'vRemote','title=no,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=600,top=100,left=90');
       testwindow.document.title = "Lista de Bem por Código de Material";
       testwindow.location.href = './ListaBemCodMaterial_PDF.asp?universo=<%=xuni%>&grupo=<%=xgrupo%>&classe=<%=xclasse%>&item=<%=xitem%>'
     </script>

O Código:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="./fpdf/fpdf.asp"-->
<!--#include file="../Includes/mdlfnBanco.asp"-->
<!--#include file="../Includes/ConsultaVazia.asp"-->
<!--#include file="../consulta/funcao.asp" -->


<%
  dim lvarQtdItem,   lvarValorItem
  dim lvarQtdClasse, lvarValorClasse
  dim lvarQtdGrupo,  lvarValorGrupo
  dim lvarQtdUC,     lvarValorUC

 strSQL = MontarQuery
' response.Write strSQL
 set objrs = mdlfnBanco_AbreRS(strSQL)

 if objrs.eof then
    ExibeConsultaVazia
 else
   Set pdf=CreateJsObject("FPDF")
   pdf.CreatePDF("P")
   pdf.SetPath("fpdf/fpdf/")
   pdf.SetTitle "Listagem de Bens por Código de Material"
   pdf.SetLineWidth 0.1
   pdf.Open()
   pdf.SetTitle "Relatório de Clientes"
   pdf.Header "Relatório de Clientes"
   pdf.LoadModels("ListaBemCodMaterial_PDF")

   lvarUCLinhaAnterior = objrs("COD_UC") & "|" & objrs("GRP_DESCR_GRO") & "|" & objrs("CLA_DESCR") & "|" & objrs("PRD_DESCR_DET")
   lvarQtdItem = 0: lvarValorItem = 0: lvarQtdClasse=0: lvarValorClasse=0: lvarQtdGrupo=0: lvarValorGrupo=0: lvarQtdUC=0: lvarValorUC=0

   QuebraPagina

...'aqui eu coloco o código para imprimir
%>


<head>
<title>Listagem de Bens por Código de Material</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores,

 

estou com um problemão, estou usando o componente FPDF para gerar um relatorio em pdf. Ate ai tudo bem , meus pesadelos começou quando precisei usar uma quebra de linha, ja tentei usar o multicell e nao funciona, ja olhei varios tutorias e dicas e nada.

 

Meu relatorio é simples, uma tabela que vai mostrar o seguinte:

 

=======================================================

Nome | Roteiro | detalhamento |

=======================================================

Fulano | Salvador/Rio/Minas |Viagem para participar |

| /Natal/salvador |do congresso de visitas|

| |a clientes |

-------------------------------------------------------

 

 

nao tem jeito de fazer esse relatorio usando pdf.Cell e pdf.MultiCell, diz que o FPFD nao aceita combinar pdf.MultiCell com pdf.Cell, mais mesmo quando eu uso apenas pdf.MultiCell nao funciona.

 

Gostaria de saber se algume ja passou por isso qual foi a solução .

 

Abraços

 

a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos,

 

Estou usando a classe PDF para ASP com VB Script, mas para qualquer relatório que eu mande exibir, a barra de títulos do explorer ignora a propriedade Title e mostra a URL do relatório. Como faço para mudar o título da janela?

 

//localhost/../Documents and Settings/prridt/Meus documentos/Minhas imagens/Tela.JPG

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, como faço p/ colocar mais de uma imagem no pdf?

Estou utilizando a função Image, mas exibe sempre a última...parece q está sobrescrevendo as outras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal , boa noite,

 

Estou com um problema ao gerar um arquivo em pdf com asp classico.

 

O momento do erro é ao executar a função pdf.Output();

 

Este erro no localhost não ocorre mas, ao executar no servidor de homologação

aparece a seguinte mensagem "O arquivo não começa em %PDF.

 

se alguém já passou por isso e puder dar um apoio agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agúem sabe como ler os arquivos que foram gravados e mandar direito para impressora

mesmo que abra a caixa de seleção das impressoras.

Ou seja, após gerar os PDF, o sistema ja abre a opção de impressão?

Encontrei esse script mas, é para PHP eu uso ASP Classico.

//ou assim:

$file_handler = fopen("c:\\teste.pdf", "r");
$contents = fread($file_handler, filesize("c:\\teste.pdf"));
fclose($file_handler);
echo $contents;

print "<script>window.print()</script>";
sc_redir(form_facturas);

​Se for possível dar um apoio agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.