Generando archivos PDF con JavaScript
Estoy intentando convertir datos XML en archivos PDF desde una página web y esperaba poder hacerlo completamente dentro de JavaScript. Necesito poder dibujar texto, imágenes y formas simples. Me encantaría poder hacer esto completamente en el navegador.
Acabo de escribir una biblioteca llamada jsPDF que genera archivos PDF usando Javascript únicamente. Todavía es muy joven y pronto agregaré funciones y corregiré errores. También obtuve algunas ideas para soluciones alternativas en navegadores que no admiten URI de datos. Tiene una licencia liberal del MIT.
Me encontré con esta pregunta antes de empezar a escribirla y pensé en volver y hacértelo saber :)
Generar archivos PDF en Javascript
Ejemplo de creación de un archivo PDF "Hola mundo".
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
Otra biblioteca de JavaScript que vale la pena mencionar es pdfmake .
- pdfhacer parque infantil
- pdfmake en github
La compatibilidad del navegador no parece ser tan sólida como la de jsPDF, ni parece haber una opción para formas, pero las opciones para formatear texto son más avanzadas que las opciones disponibles actualmente en jsPDF.
Mantengo PDFKit , que también impulsa pdfmake (ya mencionado aquí). Funciona tanto en Node como en el navegador, y admite un montón de cosas que otras bibliotecas no admiten:
- Incrustar fuentes subconjuntos, con soporte para Unicode.
- Un montón de elementos de diseño de texto avanzados (columnas, saltos de página, saltos de línea Unicode completos, texto enriquecido básico, etc.).
- Trabajando en aún más fuentes para tipografía avanzada (ligaduras OpenType/AAT, sustitución contextual, etc.). Próximamente: consulte la rama fontkit si está interesado.
- Más cosas gráficas: degradados, etc.
- Creado con herramientas modernas como browserify y streams. Utilizable tanto en el navegador como en el nodo.
Visita http://pdfkit.org/ para ver un tutorial completo y ver por ti mismo lo que PDFKit puede hacer. Y para ver un ejemplo de los tipos de documentos que se pueden producir, consulte los documentos como PDF generado a partir de algunos archivos Markdown utilizando el propio PDFKit: http://pdfkit.org/docs/guide.pdf .
También puede probarlo de forma interactiva en el navegador aquí: http://pdfkit.org/demo/browser.html .
Otro proyecto interesante es texlive.js .
Le permite compilar (La)TeX a PDF en el navegador.