He estado usando htmldoc por un tiempo, pero me he encontrado con algunas limitaciones bastante serias. Necesito la solución final para trabajar en una caja de Linux. Voy a llamar a esta biblioteca/utilidad/aplicación desde una aplicación Perl, por lo que cualquier interfaz Perl sería una ventaja.¿Cómo puedo automatizar las conversiones de HTML a PDF?
Respuesta
PrinceXML es el mejor que he visto (analiza HTML normal y XML/XHTML). ¿Cómo es el mejor? Well, it passes the acid2 test lo que pensé que era bastante impresionante
Es sin embargo, bastante caro
Ésta sería una exageración total, pero se podría descargar e instalar mirth. Es un motor de enrutamiento de mensajes, pero tiene la capacidad de convertir html a pdf, por lo que puede configurarlo para recoger un archivo html en una carpeta, convertirlo a PDF y soltar el pdf en la misma carpeta u otra. Como dije, exagerado, un poco de una curva de aprendizaje, pero es gratis, y Java para que puedas ejecutarlo en Linux si quieres. Y toda tu aplicación PERL tendría que hacer es soltar el html a un archivo.
Hice un poco de búsqueda en Google para ti y se me ocurrieron dos opciones. Puede haber más, mi estrategia de google fue probar "webkit línea de comando pdf" y "gecko línea de comando pdf", básicamente buscando programas de línea de comandos que incorporen los dos populares motores de código abierto en los procesadores de líneas de comando. Esto es lo que encontré:
Firefox command-line printer - salidas a PDF y PNG
wkpdf - si bien esto es para Mac, es probable que sea muy portátil.
este momento para desenterrar este antiguo puesto, pero le salió por primera vez en mi búsqueda de la mejor herramienta de conversión de HTML/PDF. En Linux wkhtmltopdf es muy bueno (tiene en cuenta CSS, entre otros) y GPL.
Para respaldar su punto, 1) funciona como un encanto 2) utiliza el motor de procesamiento webkit y qt, lo que significa que puede beneficiarse de las actualizaciones. Aunque el último RC fue lanzado en febrero de 2011. – kommradHomer
excelente software, gracias – RockScience
Para actualizar el comentario de @ kommradHomer, el proyecto aún está activo; la última versión estable fue lanzada el mes pasado. También está disponible en los repositorios oficiales de Ubuntu, pero al momento de escribir algunas versiones atrás. – Arild
Es posible que desee comprobar el 'Servicio de conversión de documentos' de Peernet (en http://www.peernet.com/conversion-software/batch-document-converter/). Esto se ejecuta como un servicio en un equipo con Windows Desktop o Windows Server. Abre documentos HTML en un navegador web y luego los imprime a través de un controlador de impresión para crear documentos PDF, de modo que el documento PDF producido se vea exactamente como si hubiera impreso el documento HTML desde el navegador.
Usted debe echar un vistazo a http://phantomjs.org/
conversión se puede hacer por un pequeño script rasterize.js y luego emitir
phantomjs rasterize.js 'http://en.wikipedia.org/w/index.php?title=Jakarta&printable=yes' jakarta.pdf
WeasyPrint produce buenos archivos PDF con texto seleccionable e hipervínculos.
weasyprint input.html output.pdf
Si utiliza wkhtmltopdf
lugar, pruebe las siguientes opciones:
wkhtmltopdf --margin-bottom 20mm --margin-top 20mm --minimum-font-size 16 ...
Esta debería ser la respuesta seleccionada, es gratis, de código abierto, y sí, ¡los resultados son fenomenales! Muy recomendable. – FlorianB
hay una nueva modalidad autónoma desde Chrome 59. Como todas las otras soluciones les cuesta mucho más nuevo (o no tan nuevo) Funciones de CSS como flexbox, esta fue en mi caso la única solución para producir una salida PDF adecuada.
Para crear un pdf a partir de un archivo html local simplemente use el siguiente comando: chrome --headless --disable-gpu --print-to-pdf file:///path/to/myfile.html
.
Para Mac OS sustituya chrome
con /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
.
El único inconveniente que noté hasta ahora es que (actualmente) no se puede pasar el html a través de stdin, pero crear un archivo temporal no es un gran problema.
Para más información ver https://developers.google.com/web/updates/2017/04/headless-chrome#create_a_pdf_dom
Actualización: Como resultado, los chicos de cromo más probable es proporcionar algún tipo de módulo de nodo para esta tarea, que con el tiempo despreciar el modo sin cabeza (https://bugs.chromium.org/p/chromium/issues/detail?id=719921).
La mejor opción sería utilizar el enfoque basado en nodo utilizando el módulo puppeteer como se documenta en https://developers.google.com/web/updates/2017/04/headless-chrome#node e imprimir la página mediante el comando Page.printToPDF, que también permite algunas configuraciones adicionales.
Por supuesto, también puede conectarse al websocket de la consola de depuración desde cualquier otro entorno que no sea el nodo (es decir, el script PHP).
- 1. ¿Cómo puedo automatizar las implementaciones de Node.js?
- 2. Pruebas de PDF funcional (Automatizar pruebas de contenido en PDF)
- 3. convertir HTML a PDF
- 4. HTML dinámico a PDF
- 5. ¿Documento HTML a PDF?
- 6. Convertir PDF a HTML
- 7. Convertir PDF a HTML
- 8. html a pdf con wkhtmltopdf
- 9. Conversión de PDF a HTML con Python
- 10. Rieles: ¿Convertir HTML a PDF?
- 11. Enviar formulario HTML a PDF
- 12. Android - cómo convertir html a pdf?
- 13. Conversión de HTML a PDF (no PDF a HTML) usando PHP
- 14. HTML a PDF en ASP.NET
- 15. PDF a HTML en iPhone
- 16. C# convirtiendo pdf a html
- 17. ¿Cómo automatizar las pruebas de integración?
- 18. Conversiones de Java a XML?
- 19. Exportación de HTML a PDF (C#)
- 20. HTML: force PDF download
- 21. Conversión de HTML a PDF en iOS?
- 22. Convertir archivo PDF a HTML en C#
- 23. Conversor de HTML a PDF Winnovative
- 24. HTML a PDF A4 tamaño imprimible
- 25. lValue a RValue conversiones
- 26. ¿Cómo envío datos de formulario HTML a PDF?
- 27. ¿Cómo puedo automatizar tareas en Xcode?
- 28. Convirtiendo html a pdf en php?
- 29. Convirtiendo HTML a PDF usando PHP?
- 30. Cómo automatizar la generación de salida HTML en Enterprise Architect
Tuve este mismo problema. Recientemente evalué Prince XML y puedo asegurar que es una aplicación ENORME. La velocidad y la calidad de la salida son simplemente increíbles. – cletus
¿Por qué pagar muchos miles de dólares cuando hay disponible un software gratuito y de código abierto que también supera la prueba de Acid 2? http://weasyprint.readthedocs.io WeasyPrint altamente recomendado. Resultados fenomenales – FlorianB