• Publicidad

Módulo manejo de archivo texto

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Módulo manejo de archivo texto

Notapor silva » 2012-12-11 12:52 @578

Agradecería si me pudiesen sugerir algún módulo que me permita hacer lo siguiente:

Tengo reportes en html: datos mostrados en columnas de tablas HTML y quisiera darle al usuario la posibilidad de poder ver e imprimir esos datos en un archivo de texto tabular, es decir que respete el encolumnado.

¡¡¡Gracias!!!
silva
Perlero nuevo
Perlero nuevo
 
Mensajes: 82
Registrado: 2011-05-24 05:59 @291

Publicidad

Re: Módulo manejo de archivo texto

Notapor explorer » 2012-12-11 14:07 @630

Humm.... se puede hacer de varias maneras. Aquí va una:

Usando HTML::TableExtract se sacan los datos de las tablas, almacenándolas en un array de array. Y con esa estructura, generamos la tabla con Text::Table.

Hay más opciones, como Data::Tabular, Data::ShowTable, Text::ASCIITable, etc. Y para extraer los datos del HTML, también.
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: Módulo manejo de archivo texto

Notapor silva » 2012-12-15 04:50 @243

¡¡Gracias!! La solución que me brindas es la correcta pero no es lo que necesito, me expliqué en forma incorrecta.

Yo soy la que genero el reporte en forma de tabla en HTML y al mismo tiempo quisiera estar formando un archivo de texto para que el operador pueda imprimirlo, es decir datos en bruto sin imágenes, pero que mantenga lo tabular y la prolijidad. Necesito poder manejar controles de página, tamaño de la página a imprimir, totalizadores, en el reporte que envíe a impresión.

¿Qué módulo podía utilizar para generar este archivo y poder especificar estas definiciones?

¡¡¡Muchas gracias!!!
silva
Perlero nuevo
Perlero nuevo
 
Mensajes: 82
Registrado: 2011-05-24 05:59 @291

Re: Módulo manejo de archivo texto

Notapor explorer » 2012-12-15 07:18 @346

Hummm... dudo mucho que exista algo así...

Sí que hay módulos para hacer reporting en CPAN, pero todos son para HTML, PDF y otros formatos. Creo que nunca he visto nada para texto.

Sí que hay algún conversor de HTML a texto, como por ejemplo html2txt, pero no sé cómo será la salida y si respetará el formato de las tablas.

Me temo que no te queda otra solución que hacer algo de programación...

Hay otros módulos para hacer paginación, pero son generales de HTML+CGI, por lo que se pueden aplicar también a texto preformateado. Otra cosa es si quieres entregar al usuario solo texto, en cuyo caso el texto debe estar completamente formateado a lo largo de todas las páginas (incluyendo los caracteres de salto de página, por ejemplo).

También hay otros módulos para hacer el informe directamente en texto, como por ejemplo Text::Report. Quizás esta sea la solución: dices que tú generas el informe en HTML, así que suponemos que tienes los datos para generar ese informe. Entonces, usando esos mismos datos, puedes generar el informe en texto directamente, sin tener que convertirlos desde HTML.
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: Módulo manejo de archivo texto

Notapor silva » 2013-01-05 05:10 @257

He estado viendo los módulos que me has sugerido, y me intereso Text::Report, pero no puedo instalarlo. Hago las instalaciones con el comando: cpan Text::Report, pero no instala nada. Me sale el siguiente error:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. ftp: ftp.perl.org: Temporary failure in name resolution
  2. Not connected.
  3. Local directory now /root/.cpan/sources/authors/id/D/DA/DAVIDIUS
  4. Not connected.
  5. Not connected.
  6. Not connected.
  7. Not connected.
  8. Not connected.
  9. Not connected.
  10. Not connected.
  11. Not connected.
  12. Not connected.
  13. Not connected.
  14. Bad luck... Still failed!
  15. Can't access URL ftp://ftp.perl.org/pub/CPAN/authors/id/D/DA/DAVIDIUS/Text-Repor                  t-1.004.tar.gz.
  16.  
  17. Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist
  18. push ftp://myurl/'
  19.  
  20. Could not fetch authors/id/D/DA/DAVIDIUS/Text-Report-1.004.tar.gz
  21. Giving up on '/root/.cpan/sources/authors/id/D/DA/DAVIDIUS/Text-Report-1.004.tar                  .gz'
  22. Note: Current database in memory was generated on Sat, 25 Jun 2011 10:27:08 GMT
  23.  
Coloreado en 0.007 segundos, usando GeSHi 1.0.8.4


¿Cómo puedo instalarlo? ¡¡¡¡¡¡¡Gracias!!!!!!!
silva
Perlero nuevo
Perlero nuevo
 
Mensajes: 82
Registrado: 2011-05-24 05:59 @291

Re: Módulo manejo de archivo texto

Notapor explorer » 2013-01-05 08:18 @387

El error dice que no ha podido instalarlo porque no hay conexión a Internet o/y el sistema de resolución de nombres no está bien configurado.

Consulta con tu administrador del sistema.
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

Módulo Text::Report

Notapor silva » 2013-01-09 09:52 @452

He podido instalar este módulo, ya que mi intención es conformar un archivo de texto con formato: paginación, datos tabulares, etc.

Mi consulta es: ¿Cómo grabo lo obtenido (informe con formato) en un archivo.txt para luego abrirlo e imprimirlo?

¡¡¡¡Gracias!!!!
silva
Perlero nuevo
Perlero nuevo
 
Mensajes: 82
Registrado: 2011-05-24 05:59 @291

Re: Módulo manejo de archivo texto

Notapor explorer » 2013-01-09 16:56 @747

Con el método report() de ese módulo se obtiene el informe terminado.
Se le pasa un argumento según la forma en la que queremos obtenerlo:
  • 'get' : devuelve el informe como una lista de elementos, siendo cada uno una línea del informe
  • 'csv' : devuelve los datos en formato CSV, en forma de un array de arrays
  • 'print' : manda el informe a la salida estándar
Lo único que tienes que hacer es abrir el informe y grabar el resultado en él. Algo así (no probado):

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. open my $INFORME, '>', 'informe.txt';
  2. print   $INFORME $rpt->report('get');
  3. close   $INFORME;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

siendo $rpt el objeto Text::Report creado antes.
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: Módulo manejo de archivo texto

Notapor silva » 2013-01-09 19:55 @871

¡¡¡¡Funcionó!!!! ¡¡¡Gracias!!!
silva
Perlero nuevo
Perlero nuevo
 
Mensajes: 82
Registrado: 2011-05-24 05:59 @291


Volver a Web

¿Quién está conectado?

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