Dom Sep 30, 2007 12:44 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 132
|
|
| Reporte PDF con formato HTML |
|
|
Buenas. En este caso los molesto porque estoy tratando de imprimir en un archivo PDF el contenido de un archivo HTML, y el resultado que obtengo no es el que quiero, ya que el contenido de PDF se forma con el código fuente del HTML y no con su contenido.
Les dejo el código:
| Perl: | #!/bin/perl
use PDF:: Report;
my $pdf = new PDF:: Report(
PageSize => 'A4',
PageOrientation => 'Portrait'
);
$pdf-> newpage(1);
$pdf-> setFont('Helvetica-bold');
$pdf-> setSize(14);
my ($width, $height) = $pdf-> getPageDimensions();
$pdf-> centerString(0, $width, $height- 40, "Reporte");
$pdf-> setFont('Helvetica');
$pdf-> setSize(10);
open (DATOS, "reporte.html");
while (@linea = <DATOS>){
my $text1= "@linea";
$pdf-> addParagraph($text1, 30, $height- 70, $width- 60, 30, 25, 10);
}
open(PDF, "> reporte.pdf") or die "ERROR: No puedo escribir en reporte.pdf: $!\n";
print PDF $pdf-> Finish();
close(PDF );
exit; |
|
|
|
|

Dom Sep 30, 2007 3:42 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
|
Pues yo veo que el programa hace exactamente lo que le estás mandando hacer... saca en PDF el código fuente HTML de la página.
Lo que necesitas es un módulo que convierta a PDF no el código HTML sino la página HTML ya renderizada. Por ejemplo: PDF::FromHTML, aunque pone que no es compatible con los estilos CSS. |
|
Dom Sep 30, 2007 6:06 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 474
Ubicación: Frente al monitor
|
|
|
|
|
| Perl: | while (@linea = <DATOS>){
my $text1= "@linea";
$pdf->addParagraph($text1, 30, $height-70, $width-60, 30, 25, 10);
} |
Hmmmm....
| Perl: | while (my $text1 = <DATOS>){
$pdf->addParagraph($text1, 30, $height-70, $width-60, 30, 25, 10);
} |
Aunque lo que queres hacer se hace con lo que explorer dijo. |
|

Lun Oct 01, 2007 2:12 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
|
| Parece que no ha podido bajar los módulos que faltan. |
|
Sab Jun 07, 2008 4:30 am
|
 |
elnico
Perlero Nuevo

|
Registrado: 09 Sep 2007
Mensajes: 41
|
|
|
|
|
Hola perleros.
Una pregunta, ¿este módulo también está disponible para Windows? Porque probé con "install PDF-FromHTML" en el ppm y me tira el clásico "not found. Search for it first".
Gracias de antemano. |
|
Sab Jun 07, 2008 4:34 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
Sab Jun 07, 2008 5:41 am
|
 |
elnico
Perlero Nuevo

|
Registrado: 09 Sep 2007
Mensajes: 41
|
|
|
|
|
Hola y gracias por responder, explorer.
Agregué el repositorio (repository add http://trouchelle.com/ppm) y comencé la instalación del módulo PDF-FromHTML sin problemas.
Lastima que depende de otros y en la instalación me muestra un error "404 not found" porque no encuentra el módulo HTML-tidy(no está cargado en el repositorio).
Escribí install HTML-Tidy pero tampoco lo encuentra.
Creo que tendré que esperar a que arreglen el repositorio.
Saludos. |
|
Sab Jun 07, 2008 9:02 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
|
Falla porque en el sistema donde estás no tienes instalada la librería libtidy.
Eso te pasa por usar Windows.
| Código: |
casa:~ # locate libtidy
/usr/lib/libtidy-0.99.so.0
/usr/lib/libtidy-0.99.so.0.0.0
/usr/share/doc/packages/libtidy
/usr/share/doc/packages/libtidy/license.html
casa:~ # |
|
|
Sab Jun 07, 2008 9:12 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
Sab Jun 07, 2008 11:38 am
|
 |
elnico
Perlero Nuevo

|
Registrado: 09 Sep 2007
Mensajes: 41
|
|
|
|
|
| Si, la verdad que Windows es una porquería para programar, todo eso de los .exe y los .dll, etc. Pero cuando te obligan, no queda otra, jeje. |
|
Sab Jun 07, 2008 1:07 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
|
|
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|