pagina online jpg htm gratis convertir chrome java html pdf pdf-generation

java - online - convertir html a word



Conversión de archivos HTML a PDF (8)

¿Hay alguna forma de tomar la página renderizada del motor de renderizado de Internet Explorer y enviarla a una herramienta de impresora PDF automáticamente?

Así es como funciona ActivePDF , lo cual es bueno significa que usted sabe lo que obtendrá, y en realidad tiene un soporte de estilo razonable.

También es uno de los pocos paquetes que encontré (cuando lo busqué hace unos años) que en realidad admite los diversos comandos CSS de salto de página.


Desafortunadamente, el software ActivePDF es muy frustrante, ya que tiene que iniciar el navegador IE en segundo plano para las conversiones, puede ser bastante lento y tampoco es particularmente estable.

Hay una nueva versión actualmente en Beta que se supone que es mucho mejor, pero no he tenido la oportunidad de probarla, así que no sé qué tan mejorada es.

Necesito generar automáticamente un archivo PDF a partir de un documento HTML existente (X). Los archivos de entrada (informes) utilizan un diseño bastante simple basado en tablas, por lo que probablemente no sea necesario el soporte de elementos realmente extravagantes de JavaScript / CSS.

Como estoy acostumbrado a trabajar en Java, es preferible una solución que se pueda usar fácilmente en un proyecto Java. Sin embargo, solo necesita funcionar en sistemas de Windows.

Una forma de hacerlo es factible, pero no produce resultados de buena calidad (al menos de forma CSS2XSLFO ) es usar CSS2XSLFO y Apache FOP para crear los archivos PDF. El problema que encontré fue que, si bien los atributos CSS se convierten muy bien, el diseño de la tabla está bastante desordenado, y el texto fluye fuera de la celda de la tabla.

También eché un vistazo rápido a Jrex, una API Java para usar el motor de renderizado Gecko.

¿Hay alguna forma de tomar la página renderizada del motor de renderizado de Internet Explorer y enviarla a una herramienta de impresora PDF automáticamente? No tengo experiencia en programación OLE en Windows, así que no tengo idea de qué es posible y qué no.

¿Tienes una idea?

EDITAR : Lo de FlyingSaucer / iText parece muy prometedor. Trataré de ir con eso.

Gracias por todas las respuestas


¿Has WKHTMLTOPDF ?

Es una utilidad de shell simple, una implementación de código abierto de WebKit. Ambos son gratis.

Hemos establecido un pequeño tutorial here

EDITAR (2017):

Si fuera a construir algo hoy, ya no seguiría esa ruta.
Pero usaría http://pdfkit.org/ lugar.
Probablemente quitándole todas las dependencias de nodejs para que se ejecute en el navegador.


Echa un vistazo a iText ; es un kit de herramientas puro de PDF que tiene soporte para leer datos de HTML. Lo usé recientemente en un proyecto cuando necesitaba extraer contenido de nuestro CMS y exportarlo como archivos PDF, y todo fue bastante sencillo. El soporte para CSS y etiquetas de estilo es bastante limitado, pero representa las tablas sin ningún problema (aunque nunca logré establecer el ancho de la columna).

Crear un PDF desde HTML es algo como esto:

Document doc = new Document(PageSize.A4); PdfWriter.getInstance(doc, out); doc.open(); HTMLWorker hw = new HTMLWorker(doc); hw.parse(new StringReader(html)); doc.close();


El proyecto de renderizado Flying Saucer XHTML tiene soporte para la salida de XHTML a PDF. Mire un ejemplo here .


Puedes usar un firefox sin cabeza con una extensión. Es bastante molesto correr, pero produce buenos resultados.

Vea esta respuesta para más información.


Si miras la barra lateral de tu pregunta, verás muchas preguntas relacionadas ...

En su contexto, el método más simple podría ser instalar un controlador de impresión PDF como PDFCreator y simplemente imprimir la página a esta salida.



Amyuni WebkitPDF podría usarse con JNI para una solución solo de Windows. Esta es una biblioteca de conversión HTML a PDF / XAML, gratuita para uso comercial y no comercial.

Si los archivos de salida no se necesitan de inmediato, para una mejor escalabilidad, es mejor tener una cola y algunos procesos en segundo plano tomando elementos de allí, convirtiéndolos y almacenándolos en la base de datos o el sistema de archivos.

Exención de responsabilidad habitual se aplica