• Publicidad

Pasar variables de Perl a xml

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Pasar variables de Perl a xml

Notapor memrobles » 2018-06-11 21:28 @936

Hola, perleros. Estoy tratando de crear un pdf desde Perl pero no sé cómo leer lo que le envió al xml. ¿Alguien sabrá cómo leearla, por favor.

Estos scripts ya funcionan pero no sé dónde el xml está leyendo @data. No hay un foreach ni nada por el estilo.

Gracias, perleros, de antemano.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #
  2. # The First Basic Report
  3. # Cosimo Streppone <[email protected]>
  4. # 2006-03-14
  5. #
  6. # $Id: basic.pl 16 2006-03-27 16:51:09Z cosimo $
  7.  
  8. use strict;
  9. use warnings;
  10. use PDF::ReportWriter;
  11.  
  12. my $rw = PDF::ReportWriter->new();
  13. my @data = (
  14.     [ 2002, 'Income',                 1000.000 ],
  15.     [ 2002, 'Expenses',               -900.000 ],
  16.     [ 2002, 'Taxes',                  -300.000 ],
  17.     [ 2003, 'Income',                 2000.000 ],
  18.     [ 2003, 'Expenses',              -1200.000 ],
  19.     [ 2003, 'Taxes',                  -400.000 ],
  20.     [ 2004, 'Income',                 4000.000 ],
  21.     [ 2004, 'Expenses',              -1800.000 ],
  22.     [ 2004, 'Taxes',                 -1000.000 ],
  23.     [ 2005, 'Income',                10000.000 ],
  24.     [ 2005, 'Expenses',              -3000.000 ],
  25.     [ 2005, 'Taxes',                 -2300.000 ],
  26.     [ 2006, 'Income (projection)',   90000.000 ],
  27.     [ 2006, 'Expenses (projection)', -9900.000 ],
  28.     [ 2006, 'Taxes (projection)',   -15000.000 ],
  29. );
  30.  
  31. $rw->render_report('./basic.xml', \@data);
  32.  
  33. # Produces `./basic.pdf', check xml to understand how
  34. $rw->save();
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

Sintáxis: (basic.xml) [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!--
  3.    The First Simple Report
  4.    Author: Cosimo Streppone <[email protected]>
  5.    Date: 2006-03-14
  6.    $Id: basic.xml,v 1.1 2006/03/14 17:14:24 cosimo Exp $
  7. -->
  8. <report>
  9.  
  10.     <definition>
  11.         <name>A simple report</name>
  12.         <destination>basic.pdf</destination>
  13.         <paper>A4</paper>
  14.         <orientation>portrait</orientation>
  15.         <font>Helvetica</font>
  16.         <default_font>Helvetica</default_font>
  17.         <default_font_size>10</default_font_size>
  18.         <x_margin>28.346</x_margin><!-- 10 mm -->
  19.         <y_margin>28.346</y_margin>
  20.     </definition>
  21.  
  22.     <data>
  23.  
  24.         <!-- Every rendering unit is a cell -->
  25.         <cell_borders>1</cell_borders>
  26.  
  27.         <!-- Every page has a header and footer which are
  28.             both lists of individual cells -->
  29.         <page>
  30.  
  31.             <header>
  32.  
  33.                 <!-- A little logo -->
  34.                 <cell index="0">
  35.                     <image path="basic.jpg"/>
  36.                     <!-- How much space of page? 20% -->
  37.                     <percent>20</percent>
  38.                     <align>right</align>
  39.                 </cell>
  40.  
  41.                 <!-- Main title -->
  42.                 <cell index="1">
  43.                     <text>My First Simple Report</text>
  44.                     <!-- How much space of page? 80% -->
  45.                     <percent>80</percent>
  46.                     <font_size>20</font_size>
  47.                     <colour>blue</colour>
  48.                     <align>left</align>
  49.                     <wrap_text>1</wrap_text>
  50.                 </cell>
  51.  
  52.             </header>
  53.         </page>
  54.  
  55.         <!-- A simple report is basically a table.
  56.             Define all the columns of this table -->
  57.         <fields>
  58.  
  59.             <!-- Year -->
  60.             <field>
  61.                 <name>Year\nthing</name>
  62.                 <index>0</index>
  63.                 <percent>30</percent>
  64.                 <font_size>12</font_size>
  65.                 <align>left</align>
  66.             </field>
  67.  
  68.             <!-- Note -->
  69.             <field>
  70.                 <name>Note</name>
  71.                 <index>1</index>
  72.                 <percent>40</percent>
  73.                 <font_size>12</font_size>
  74.                 <align>left</align>
  75.             </field>
  76.  
  77.             <!-- Amount -->
  78.             <field>
  79.                 <name>Amount</name>
  80.                 <index>2</index>
  81.                 <percent>30</percent>
  82.                 <font_size>12</font_size>
  83.                 <align>right</align>
  84.                 <format>
  85.                     <currency>1</currency>
  86.                     <separate_thousands>1</separate_thousands>
  87.                 </format>
  88.             </field>
  89.            
  90.         </fields>
  91.  
  92.     </data>
  93.  
  94. </report>
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
memrobles
Perlero nuevo
Perlero nuevo
 
Mensajes: 27
Registrado: 2015-12-07 15:05 @670

Publicidad

Re: Pasar variables de Perl a xml

Notapor explorer » 2018-06-12 03:57 @206

El funcionamiento es el siguiente:

PDF::ReportWriter crea un informe en PDF a partir de los datos en @data y de una plantilla XML, que indica qué aspecto y datos debe mostrar.

En el programa, en la línea 31, es donde el módulo lee el archivo xml y los datos, y con los dos confecciona el informe, que guardará cuando llegue a la línea 34.

El XML es una plantilla. Indica qué aspecto (tipo de letra, orientación, tamaño, márgenes, etc.) debe tener el informe, y luego, dentro del campo <fields>, está indicado qué campos de @data y con qué formato deben salir. El valor de <index> es el que indica dentro de @data, por cada fila, qué dato debe ir en cada columna. Si es el '0', se refiere a la primera columna, el '1' a la segunda, etc.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Pasar variables de Perl a xml

Notapor memrobles » 2018-06-12 19:09 @840

Hola, explorer, gracias.

Cambié todos los index por 0 en el xml:
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!--
  3.    The First Simple Report
  4.    Author: Cosimo Streppone <[email protected]>
  5.    Date: 2006-03-14
  6.    $Id: basic.xml,v 1.1 2006/03/14 17:14:24 cosimo Exp $
  7. -->
  8. <report>
  9.  
  10.     <definition>
  11.         <name>A simple report1</name>
  12.         <destination>basic.pdf</destination>
  13.         <paper>A4</paper>
  14.         <orientation>portrait</orientation>
  15.         <font>Helvetica</font>
  16.         <default_font>Helvetica</default_font>
  17.         <default_font_size>10</default_font_size>
  18.         <x_margin>28.346</x_margin><!-- 10 mm -->
  19.         <y_margin>28.346</y_margin>
  20.     </definition>
  21.  
  22.     <data>
  23.  
  24.         <!-- Every rendering unit is a cell -->
  25.         <cell_borders>1</cell_borders>
  26.  
  27.         <!-- Every page has a header and footer which are
  28.             both lists of individual cells -->
  29.         <page>
  30.  
  31.             <header>
  32.  
  33.                 <!-- A little logo -->
  34.                 <cell index="0">
  35.                     <image path="basic.jpg"/>
  36.                     <!-- How much space of page? 20% -->
  37.                     <percent>20</percent>
  38.                     <align>right</align>
  39.                 </cell>
  40.  
  41.                 <!-- Main title -->
  42.                 <cell index="1">
  43.                     <text>My First Simple Report2</text>
  44.                     <!-- How much space of page? 80% -->
  45.                     <percent>80</percent>
  46.                     <font_size>20</font_size>
  47.                     <colour>blue</colour>
  48.                     <align>left</align>
  49.                     <wrap_text>1</wrap_text>
  50.                 </cell>
  51.  
  52.             </header>
  53.         </page>
  54.  
  55.         <!-- A simple report is basically a table.
  56.             Define all the columns of this table -->
  57.         <fields>
  58.  
  59.             <!-- Year -->
  60.             <field>
  61.                 <name>Year\nthing</name>
  62.                 <index>0</index>
  63.                 <percent>30</percent>
  64.                 <font_size>12</font_size>
  65.                 <align>left</align>
  66.             </field>
  67.  
  68.             <!-- Note -->
  69.             <field>
  70.                 <name>Note</name>
  71.                 <index>0</index>
  72.                 <percent>40</percent>
  73.                 <font_size>12</font_size>
  74.                 <align>left</align>
  75.             </field>
  76.  
  77.             <!-- Amount -->
  78.             <field>
  79.                 <name>Amount</name>
  80.                 <index>0</index>
  81.                 <percent>30</percent>
  82.                 <font_size>12</font_size>
  83.                 <align>right</align>
  84.                 <format>
  85.                     <currency>1</currency>
  86.                     <separate_thousands>1</separate_thousands>
  87.                 </format>
  88.             </field>
  89.            
  90.         </fields>
  91.  
  92.     </data>
  93.  
  94. </report>
  95.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Y sigue mostrando el mismo reporte.

En teoría debería mostrar el año en las filas y celdas.

:?

Gracias y saludos.
memrobles
Perlero nuevo
Perlero nuevo
 
Mensajes: 27
Registrado: 2015-12-07 15:05 @670

Re: Pasar variables de Perl a xml

Notapor memrobles » 2018-06-14 00:22 @057

Bueno..... no lo pude hacer, buscando info en Google encontré https://wkhtmltopdf.org/ una solución para los que necesitamos crear PDF a partir de un html, de manera fácil.

Saludos perleros.
memrobles
Perlero nuevo
Perlero nuevo
 
Mensajes: 27
Registrado: 2015-12-07 15:05 @670


Volver a Básico

¿Quién está conectado?

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