• Publicidad

Problemas con PDF::API2

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Problemas con PDF::API2

Notapor hugo11ab » 2007-11-13 14:30 @646

Que tal de nuevo molestándolos y solicitando de su gran ayuda.

Estoy haciendo en script en Perl que me genera un PDF a partir de otro, el problema que tengo es que cuando quiero abrir una hoja especifica del documento me manda un error; ya le intenté de varias maneras para solucionar el problema y nada; aquí pongo parte del código y el error que me manda.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$pdf  = PDF::API2->open("/var/www/html/formatos/formatoprincipal/formato.pdf");
$fnt = $pdf->corefont('Arial-Bold',-encoding => 'latin1');
$fnt2 = $pdf->corefont('Arial',-encoding => 'latin1');

%font = (
   Arial => {
      Bold   => $pdf->corefont('Arial-Bold',    -encoding => 'latin1'),
   },
   Times => {
      Roman  => $pdf->corefont('Arial',             -encoding => 'latin1'),
   },
);

page = $pdf->openpage(1);
   $left_column_text = $page->text;
   $left_column_text->font( $font{'Arial'}{'Bold'}, 11/pt );
   $left_column_text->fillcolor( 'black' );


   # funcion que me permite justificar el texto
   $parrafo= "$$rs{texto}";

   $ypos=245/mm;
   ($endw, $ypos, $paragraph) = text_block(
     $left_column_text,                     # PAGINA ACTIVA
     $parrafo,                              # TEXTO A IMPRIMIR
     -x     =>   20/mm,                     # COLUMNA
     -y     =>  $ypos,                      # LINEA
     -w     =>   171/mm,                     # ANCHO DEL BLOQUE
     -h     =>  110/mm - (119/mm - $ypos),  # ALTO DEL BLOQUE
     -lead  =>  13/pt,                     # ESPACIO ENTRE LINEAS.
     -parspace => 0/pt,
     -align => 'justify',
   );

   $txt = $page->text;
   $txt->font($fnt, 11);
   $txt->translate(538,735); $txt->text_right("No. de Formato: $$rs{formato}");
   $txt->translate(250,550); $txt->text("DECLARACIONES");
   $txt->font($fnt2, 11);
   $txt->translate(62,490); $txt->text("a)");

   #aqui abro otra pagina sin problemas
   $page = $pdf->openpage(3);
   $txt = $page->text;
   $txt->font($fnt2, 11);
   $txt->fillcolor('black');
   $txt->translate(62,610); $txt->text("$texto2");
   
   #hasta aqui  todo funciona correctamente, pero cuando quiero abrir otra pagina por ejemplo la pagina 2 es cuando me manda el error.
    $page = $pdf->openpage(2);
    $txt = $page->text;
    $txt->translate(538,735); $txt->text_right("INCISOS DEL FORMATO");


   $pdf->saveas("/var/www/html/formatos/generados/formto1.pdf");
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Aquí pongo el error que me manda.
Código: Seleccionar todo
ContratoFirco.cgi: Can't call method "width" on an undefined value at /usr/lib/perl5/site_perl/5.8.8/PDF/API2/Content.pm line 1695.


Espero y puedan ayudarme a resolver este problema.
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016

Publicidad

Notapor creating021 » 2007-11-14 16:49 @742

Creo que tienes que crear el objeto antes de usar open()...
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$pdf = PDF::API2->new
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Después haces el resto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$pdf->open("/var/www/html/formatos/formatoprincipal/formato.pdf");
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado