[Cascavel-pm] Conversao em PDF
Carlos Silva
carlos.silva.gyn em gmail.com
Segunda Novembro 7 17:57:19 PST 2005
Prezaados colegas,
Estou tentando fazer uma conversao de arquivo HTMl para PDF e não estou
conseguindo.
Esse script baixa uma ou mais paginas HTML passadas como parametro e depois
a transforma em PDF mas a conversão nao esta funcionando .
Alguem poderia me ajudar ????
*#!/usr/bin/perl*
*use* IO::Socket;
*#use PDF::FromHTML;*
*#use HTML::Parse;*
*#use PDF::Template;*
*#use HTML::Tagset;*
*#use PDF::Writer; *
*#use HTML::TreeBuilder;*
$count = 0;
$TotalParametros = 0;
$Site = *"*www.faqs.org <http://www.faqs.org>*"*;
$HomeUsuario = *"*/home/vt_integrada_perl*"*; *#diretorio onde vai ser
baixado o arquivo HTML*
$NovoDir;
mkdir *"*/home/vt_integrada_perl*"*; *#cria diretorio
home/vt_integrada_perl onde vai ser baixado as paginas HTML*
*foreach* $arg(@ARGV) {
$count++;
}
*if*($count==0){
printf(*"*Digite o nome do script e o numero das RFC separadas por
espaco\n*"*);
}
*else*{
$TotalParametros = $count;
}
*for*($count=0;$count<$TotalParametros;$count++){
$ListaDownloads[$count] = *"*/rfcs/rfc*"* . $ARGV[$count] . *"*.html*"*;
$NovoDir = $HomeUsuario . *"*/*"* . $ARGV[$count];
$NovoArquivo = $NovoDir . *"*/*"* . $ARGV[$count] . *"*.html*"*;
mkdir($NovoDir);
&BaixarPagina($ListaDownloads[$count], $NovoArquivo);
$ListaDownloads[$count] = *"*/rfcs/rfc*"* . $ARGV[$count] . *"*.html*"*;
$NovoDir = $HomeUsuario . *"*/*"* . $ARGV[$count];
$NovoArquivo = $NovoDir . *"*/*"* . $ARGV[$count] . *"*.html*"*;
*# &convertePdf; *
mkdir($NovoDir);
};
*sub *convertePdf {
*my* $HTML = *'*caminho_para_o_arquivo_html*'*;
*my* $PDF = *'*caminho_para_o_arquivo_pdf*'*;
*my* $FONTE = *'*caminho_para_fonte_truetype*'*;
*my* $pdf = PDF::FromHTML->new( encoding => *'*utf-8*'* );
$pdf->load_file($HTML);
$pdf->convert(
Font => $FONTE,
LineHeight => 10,
Landscape => 1,
);
$pdf->write_file($PDF);
}
*sub *BaixarPagina{
*my* $enderecosite = $_[0];
*my* $nmarquivo = $_[1];
*my* $port = *"*80*"*;
*my* $strComando = *"*GET $enderecosite HTTP/1.1\nHost:
$Site\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10)
Gecko/20050725\n\n*"*;
print $strComando;
*my* $sock = new IO::Socket::INET (
PeerAddr => $Site,
PeerPort => $port,
Proto => *'*tcp*'*,
);
die *"*Nao foi possivel conectar... $Site*"* *unless* $sock;
$sock->autoflush(1);
print $sock $strComando;
;
*my* $buf=*""*;
*while*($line=<$sock>){
$buf.=$line;
}
close($sock);
*# print $buf; exibe o conteudo html*
open(SITE,*"*>>$nmarquivo*"*);
print SITE $buf;
close(SITE);
print *"*Gravado em $nmarquivo*"*;
}
Outro detalahe tb precisaria converte-lo para TXTe PS mas realemte neste
caso estou perdido
Um abraço
Carlos Silva
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20051108/8c77832c/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm