2009-04-09 26 views
47

Duplicar posibles:
Convert HTML + CSS to PDF with PHP?Convirtiendo HTML a PDF usando PHP?

¿Es posible convertir una página HTML a PDF con PHP, y si es así, ¿cómo puede hacerse esto?

Específicamente, la página es una factura generada dinámicamente. Así que me gustaría cargarlo usando:

http://example.com/invoices/3333 

Y la salida HTML tendría que convertirse a PDF.

Cualquier buena biblioteca que haga esto estará bien.

+0

GrabzIt cuenta con una biblioteca libre de PHP para convertir HTML a PDF: http://grabz.it/html-to-pdf-image-api.aspx –

Respuesta

53

Si desea crear un documento PDF con PHP, pdflib le ayudará (como algunos otros sugirieron).

De lo contrario, si desea convertir una página HTML a PDF a través de PHP, encontrará un pequeño problema de aquí .. Durante 3 años he estado tratando de hacerlo lo mejor que pueda .

Por lo tanto, las opciones que conozco son:

DOMPDF: php class que envuelve el html y construye el pdf. Funciona bien, personalizable (si conoces php), basado en pdflib, si recuerdo bien, lleva incluso un poco de CSS. Malas noticias: ralentiza cuando el html es grande o complejo.

HTML2PS: igual que DOMPDF, pero este se convierte primero a un archivo .ps (ghostscript), luego, al formato que necesite (pdf, jpg, png). Para mí es un poco mejor que dompdf, pero tiene el mismo problema de velocidad ..pero, mejor compatibilidad con CSS.

Esos dos son clases PHP, pero si se puede instalar algún software en el servidor, y el acceso punto a través de tránsito() o() del sistema, dan un aspecto a estos también:

wkhtmltopdf: basado en WebKit (envoltorio de safari), es realmente rápido y poderoso ... parece que este es el mejor (atm) para convertir páginas html a pdf sobre la marcha; Tomando solo 2 segundos para un documento xHTML de 3 páginas con CSS2. Es un proyecto reciente, de todos modos, la página google.code a menudo se actualiza.

htmldoc: Este es un tanque, nunca se detiene/se bloquea .. el proyecto parece muerto desde 2007, pero de todos modos si no necesita compatibilidad con CSS esto puede ser bueno para usted.

+3

Daniel, ¿cuál es el mejor para CSS? ¿WkHTMLToPdf? –

+1

Sí, en realidad. estamos dispuestos a usar también Firefox (con un complemento de línea de comando por torisugary), becose, ya sabes, nada tomará css mejor que un navegador. wkhtmltopdf se ejecuta en safari, así que en realidad es el mejor, imho. Espero que Mozilla haga algo así con gecko pronto – Strae

+0

Dan, ¿puedes llamar a wkhtml a través de php? Parece que se debe llamar usando shell manualmente –

0

Sí, absolutamente.

Existen soluciones comunes que puede adquirir que aceptarán una entrada HTML y convertirán el archivo eh por usted.

También hay un PDFLib común que puede usar para generar sus PDF usando PHP pero requiere que los cree manualmente de forma manual configurando todos los elementos en la página.

Ésta es another one que he usado que ha sido bastante agradable

1

Usted podría utilizar PDFlib. Hay una documentación en php.net on how to utilize it. Por desgracia, tienes que vivir con una marca de agua bastante molesta si no compras una licencia para PDFlib.

3

Personalmente no confío en todos los servicios que se ofrecen de forma gratuita. Aquí es una aplicación se puede descargar: http://www.tufat.com/script19.htm

+0

No estoy de acuerdo. El código abierto es lo que mantiene el programa funcionando, nunca está contento con el status quo. Currenlty, que trabaja con 14 bibliotecas de código abierto, puede decir felizmente que no hay nada más fácil. –

+0

@toxinhead: Es posible que desee volver a leer la respuesta. Se trata de * servicios *, no * software *. – soulmerge

+0

La respuesta aceptada es a la que pensé que se refería también es la comparación de software/productos, no servicios. Lo siento. –

1

DOMPDF: https://github.com/dompdf/dompdf

toma una cadena HTML de entrada y devuelve el pdf cuerdas.

no es de calidad a nivel de navegador y tiene problemas con css, pero funciona lo suficientemente bien para documentos de texto simples.

5

¿qué hay de TCPDF?

tiene un montón de características, y una de las ventajas de usarlo puede convertir HTML a PDF sobre la marcha

+6

Su enlace a TCPDF es incorrecto, debería ser: http://www.tcpdf.org/ – stukelly

1

También éste que hace un trabajo GOOG: html2pdf

0

Los problemas con las clases de PHP son yo sepa 2:

  1. velocidad: php tomar posiciones largas para analizar la estructura html y convertir en pdf con pdflib
  2. Fiabilidad: cuando una nueva c ss, o el atributo de estilo vendrá, ¿cómo mantener las actualizaciones del script? ¿cuanto tiempo?

Creo que la única forma de tener una conversión correcta es utilizando un contenedor de navegador becose, por definición, siempre será el mejor lector de html.

que sugieren otro vínculo con alguna comparación: LINK Ahí es donde leí sobre wkhtmltopdf .. dar una lectura a todos los comentarios también, muchos otros están allí manera ...