<div>A parte do sokets funciona normalmente e pagina e baixana no diretorio passado como parametro, o que nao estou conseguindo fazer e converter em PDF, as bibliotcas a prinipio foram comatadas propositalemente.</div>
<div> </div>
<div>Nao posso fazer vams programas tem que ser feito tueo em um unico codigo..</div>
<div> </div>
<div>abaixo uma nova parte que aumentei no meu codigo pra fazer a conversao para txt mas tb nao esta funcionando. Poderia me dar uma maozinha ???</div>
<div> </div>
<div>Obrigadoooo</div>
<div> </div>
<div> </div>
<div>Carlos Silva</div>
<div> </div>
<div>
<p>#!/usr/bin/perl</p>
<p>use IO::Socket;<br>#use PDF::FromHTML;<br>#use HTML::Parse;<br>#use PDF::Template;<br>#use HTML::Tagset;<br>#use PDF::Writer; <br>#use HTML::TreeBuilder;</p>
<p><br>$count = 0;<br>$TotalParametros = 0;<br>$Site = "<a href="http://www.faqs.org/">www.faqs.org</a>";<br>$HomeUsuario = "/home/vt_integrada_perl"; #diretorio onde vai ser baixado o arquivo HTML<br>
$NovoDir;<br>mkdir "/home/vt_integrada_perl"; #cria diretorio home/vt_integrada_perl onde vai ser baixado as paginas HTML<br>foreach $arg(@ARGV) {<br> $count++;<br>}<br>if($count==0){<br> printf("Digite o nome do script e o numero das RFC separadas por espaco\n");
<br>}<br>else{<br> $TotalParametros = $count;<br>}</p>
<p>for($count=0;$count<$TotalParametros;$count++){<br> $ListaDownloads[$count] = "/rfcs/rfc" . $ARGV[$count] . ".html";<br> $NovoDir = $HomeUsuario . "/" . $ARGV[$count];<br> $NovoArquivo = $NovoDir . "/" . $ARGV[$count] . ".html";
<br> mkdir($NovoDir);<br> &BaixarPagina($ListaDownloads[$count], $NovoArquivo);<br> $ListaDownloads[$count] = "/rfcs/rfc" . $ARGV[$count] . ".html";<br> $NovoDir = $HomeUsuario . "/" . $ARGV[$count];
<br> $NovoArquivo = $NovoDir . "/" . $ARGV[$count] . ".html";<br> # &convertePdf($ListaDownloads[$count], $NovoArquivo); <br> mkdir($NovoDir);<br> #perl -pe 's/\<.+?\>//g home/vt_integrada_perl/1020/1020.html;
<br> &sub converte_html_txt</p>
<p><br> <br>}; </p>
<p>sub convert_html_txt converts html to txt with all characters protected<br> #usage:<br> #(cd ~/home/vt_integrada_perl/$NovoDir/$NovoArquivo ; ./converte_html_txt.pl dasherlink1.html > teste.txt)<br> #( cd ~/website/dasher/english ; ./html2txt.pl converte_html_txt.pl >
teste.txt ) ; make dasherenglish</p>
<p>#eval "\$$1=\$2" while @ARGV && $ARGV[0]=~ /^(\w+)=(.*)/ && shift;</p>
<p>#while(<>){<br> s/\&/\&amp;/g; <br> s/\</\&lt;/g;<br> s/\>/\&gt;/g;<br> # print;<br>#}</p>
<p><br>sub convertePdf {<br>my $HTML = '/home/vt_integrada_perl/$NovoDir/$NovoArquivo';<br>my $PDF = '/home/vt_integrada_perl/$NovoDir/$NovoArquivo';<br>my $FONTE = '/usr/X11R6/lib/X11/fonts/truetype/SUSESans-Roman.ttf
';</p>
<p>my $pdf = PDF::FromHTML->new( encoding => 'utf-8' );<br> $pdf->load_file($HTML);<br> $pdf->convert(<br> Font => $FONTE,<br> LineHeight => 10,<br> Landscape => 1,<br> );<br>
$pdf->write_file($PDF);<br>}<br>sub BaixarPagina{<br> my $enderecosite = $_[0];<br> my $nmarquivo = $_[1];<br> my $port = "80";<br> 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";<br> <br> print $strComando;<br> my $sock = new IO::Socket::INET (<br> PeerAddr => $Site,<br> PeerPort => $port,<br> Proto => 'tcp',
<br> );<br> die "Nao foi possivel conectar... $Site" unless $sock;<br> $sock->autoflush(1);</p>
<p> print $sock $strComando;</p>
<p>;</p>
<p> my $buf="";<br> while($line=<$sock>){<br> $buf.=$line;<br> }</p>
<p> <br> <br> close($sock);</p>
<p># print $buf; exibe o conteudo html<br> open(SITE,">>$nmarquivo");<br> print SITE $buf;<br> close(SITE);<br> print "Gravado em $nmarquivo";<br> <br>}<br></p></div>
<div><br><br> </div>
<div><span class="gmail_quote">Em 08/11/05, <b class="gmail_sendername">Alceu Rodrigues de Freitas Jr.</b> <<a href="mailto:glasswalk3r@yahoo.com.br">glasswalk3r@yahoo.com.br</a>> escreveu:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Carlos Silva wrote:<br><br>> Prezaados colegas,<br>><br>> Estou tentando fazer uma conversao de arquivo HTMl para PDF e não
<br>> estou conseguindo.<br>><br>> Esse script baixa uma ou mais paginas HTML passadas como parametro e<br>> depois a transforma em PDF mas a conversão nao esta funcionando .<br>><br>Você deixou alguns módulos comentados no seu código enviado... isso foi
<br>proposital?<br>Você está usando sockets para pegar uma página... já tentou fazer a<br>conversão local? Digo, antes de sair usando sockets, localmente seu<br>script funciona?<br>Tente fazer seu programa por partes, não de uma vez só. A maior
<br>dificuldade que vejo em usar socket é o script pegar o documento HTML e<br>salvar no HD (ou em memória, se você tiver ela sobrando). Feito isso, o<br>restante do seu script deverá funcionar.<br>E por favor, não use IO::Socket a menos que você realmente precise... o
<br>LWP::Simple já mata seus problemas com uma facilidade muito maior.<br><br>[]'s<br>Alceu<br><br><br><br><br><br><br>_______________________________________________________<br>Yahoo! Acesso Grátis: Internet rápida e grátis.
<br>Instale o discador agora!<br><a href="http://br.acesso.yahoo.com/">http://br.acesso.yahoo.com/</a><br><br>_______________________________________________<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">
Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br>