2009-02-17 8 views
12

Hay un buen número de módulos en CPAN relacionados con la creación y manipulación de archivos .pdf, y espero que esta comunidad pueda ahorrarme algo de tiempo yendo por callejones sin salida.¿Cuál es el mejor módulo Perl que se puede usar para crear un .pdf desde cero?

Estoy buscando crear archivos .pdf desde cero, con solo un formato simple, como negrita/cursiva y justificación izquierda/derecha/centro. Ser capaz de usar un archivo de plantilla sería agradable, desde una perspectiva de MVC, pero si el mejor módulo no es compatible con eso, estoy bien. Quiero el mejor módulo para mi estrecho conjunto de problemas.

Edit: agreguemos la restricción de que tiene que ser un módulo de Perl, si no una solución de puro perl. Gracias por las respuestas hasta ahora!

actualización: creación de PDF es un problema difícil decidir cómo abordar. Además de las buenas sugerencias aquí, parece que hay alrededor de 1,000 maneras diferentes de resolver esto, y saber en qué solución (s) invertir su tiempo es un verdadero desafío. Es fácil adquirir dependencias de ejecutables externos en el proceso de construcción de esta solución, por lo que he estado favoreciendo hacer todo en Perl si es posible.

Fui por el camino de tratar de usar PDF :: Crear, pero me pareció demasiado limitante. Tiene que dar coordenadas para colocar cada cadena de texto y no hay un concepto incorporado de envoltura de texto ... esto es todo el trabajo que tiene que hacer. Imposible cantidad de sobrecarga para mi tarea.

Ahora estoy usando PDF :: API2, que es mucho más potente que PDF :: Crear, pero aún exige que el PDF se ensamble a un nivel inquietantemente bajo. Afortunadamente, hay algo de ayuda en línea. Ver Rick Measham's excellent PDF::API2 tutorial with accompanying text_block() subroutine, que afortunadamente hace el trabajo pesado en el problema de ajuste del texto.

A menos que vea otra actualización aquí, esta es la solución que terminó trabajando para mí.

+0

Estoy de acuerdo con el uso de PDF :: API2 (¡Estaba intentando orientarlo en esa dirección general!). Bien hecho para publicar el seguimiento y el enlace del tutorial. – draegtun

Respuesta

6

Soy el autor del módulo CPAN CAM::PDF que definitivamente no es la mejor herramienta para este trabajo; está diseñado para la edición de alto rendimiento, no para la creación.

Entre las bibliotecas de creación de PDF gratuitos, me gusta PDF :: API2 la mejor. Tiene un conjunto de características muy completo y un buen soporte de encriptación (inspirado en CAM :: PDF, ¡podría agregar!) El autor, Alfredo, administra una popular lista de correo electrónico. La gente a veces se queja de la documentación, pero he encontrado que es adecuada.

Entre las bibliotecas comerciales, he tenido buenas experiencias con pdflib.

+1

La documentación es atroz. Sospecho, sin embargo, que una vez que te acostumbras, ya no recuerdas lo frustrante que fue entenderlo, y nadie hizo nada con respecto a la documentación. –

+0

Buen punto. :-) –

+2

Alfredo ya no mantiene el módulo ... ha pasado de Perl y el módulo no está en mantenimiento. Estoy considerando tomarlo para que ALGUIEN esté haciendo algo con eso. – RickMeasham

4

¿Tiene que ser un módulo Perl? Siempre puedes usar LaTeX y convertir eso a PDF. No es tan directo, pero es otra opción.

+0

Como una ventaja, producirá documentos maravillosamente compilados. –

+0

He usado este método para crear documentos bastante complicados. De hecho, puede crear fragmentos de la PDF en diversas aplicaciones y combinar su producción utilizando http://search.cpan.org/~larslund/PDF-Reuse-0.35/ –

0

Sí, difícil de responder sin saber exactamente cuáles son sus limitaciones. Si pure-Perl no es una necesidad, me inclinaría hacia DocBook.

El marcado inicial que generará puede ser XML muy simple; y la transformación requiere solo un procesador XSL y un bombardeo similar al de Apache FOP.

5

tres módulos para la creación de PDF vienen a la mente (en ningún orden en particular) ....

PDF :: Plantilla le da esa opción de plantilla que quizás anhelan?   PDF :: Crear parece más sencillo (al menos de los documentos) y puede cumplir su requisito de "formato simple" de manera más adecuada.

Sin embargo, si usted quiere saber lo que la "comunidad" piensa entonces sólo PDF :: API2 obtiene una calificación de CPAN Ratings que llegan con 4 out of 5 stars puntuación global.

Espero que ayude.

PS. Descargo de responsabilidad: no he usado ninguno de estos módulos. En el pasado siempre he ido a XML/XSLT/XSL-FO utilizando Apache FOP con Perl se utiliza para crear los datos XML iniciales. Esto puede ser una exageración para algo pequeño y no siempre ideal si desea incrustar la generación de PDF en su aplicación Perl.

PPS. ¡Así que también estaré mirando estos módulos de CPAN PDF en algún momento en el futuro cercano!

+0

he utilizado 'PDF :: API2', es mejor que 'PDF :: Create' en términos que puede reutilizar un pdf para generar los nuevos. :) –

2

Buenas, Marcus,

alegra que hayas encontrado el tutorial. Hago mucho trabajo en PDF :: API2, así que si hay algo en lo que pueda ayudar, házmelo saber.

Naturalmente, recomiendo PDF :: API2!

Hay un tipo Jay Hannah, que actualmente está convirtiendo el bloque de texto en un módulo para CPAN que hace exactamente lo que quieres: negrita, cursiva, etc. Si revisas la lista de correo, verás sus publicaciones en la parte superior .

¡Salud!

Rick Measham

+0

Muchas gracias por tocar base conmigo, Rick. Acabo de unirme a la lista de correo del grupo Yahoo 'perl-text-pdf-modules', que espero sea la que usted quiso decir? – Marcus

+0

Sí, ese es el único - ¡Salud! – RickMeasham

Cuestiones relacionadas