imprimir generar formulario desde descargar crear con pdf angular typescript jspdf

generar - imprimir formulario php en pdf



Generar archivo PDF desde html usando angular2/mecanografiado (4)

Quiero tomar una parte de mi plantilla HTML y convertirla a un archivo PDF para darle al usuario la opción de descargarla. (Después de que hagan clic en un botón, por ejemplo).

Encontré una biblioteca llamada jsPDF, ¿cómo usaría jsPDF en una aplicación Angular2 (RC4)?

gracias


como respuesta

este enlace es necesario para importar contenido jsPDF

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script> // to use jsPDF for registring pdf file

entonces en ti component.ts

haces eso

declare let jsPDF; @Component({ template: ` <button (click)="download()">download </button> ` }) export class DocSection { constructor() { } public download() { var doc = new jsPDF(); doc.text(20, 20, ''Hello world!''); doc.text(20, 30, ''This is client-side Javascript, pumping out a PDF.''); doc.addPage(); doc.text(20, 20, ''Do you like that?''); // Save the PDF doc.save(''Test.pdf''); } }


Si desea usarlo en producción, definitivamente no desea depender de un enlace de Internet al que se haga referencia en su index.html, como lo propuso @khalil_diouri.

Entonces, para usarlo correctamente en un entorno Angular2 / Typescript, primero instálelo desde npm

npm install --save jspdf

Si está utilizando SystemJS, asócielo en su archivo de configuración

map: { "jspdf": "node_modules/jspdf/dist/jspdf.min.js" }

Instalar archivos de definición:

typings install dt~jspdf --global --save

Y, finalmente, importarlo en su archivo component.ts

import jsPDF from ''jspdf'' ... let doc = new jsPDF(); doc.text(20,20,''Hello world''); doc.save(''Test.pdf''); ...


el método AddHtml está en desuso:

Fuente: plugins / addhtml.js, línea 12 Obsoleto: se reemplaza con una API que admite vectores. mira aquí

Renderiza un elemento HTML al objeto canvas que se agregó al PDF

Esta función requiere html2canvas o rasterizeHTML


¿Por qué usar archivos de Definición (también conocidos como Declaración)?

Para utilizar bibliotecas javascript externas (jsPDF, por ejemplo) con aplicaciones Angular2 (que usan Typescript), va a querer archivos de definición de tipo para esas bibliotecas javascript. Estos archivos proporcionan información de tipo (como en String , Number , boolean , etc.) a mecanografiado para obtener ayuda con la comprobación del tipo de tiempo de compilación. (Dado que javascript está escrito a máquina)

Otra explicación sobre los archivos d.ts se puede encontrar aquí .

Cómo utilizar

Puede descargar un paquete npm llamado typings que ayudará a agilizar el proceso. Aquí hay una breve guía sobre cómo usarlo. Una vez que haya instalado typings, puede ejecutar:

npm run -- typings install dt~jspdf --global --save

para obtener el archivo de typings que luego puede usar en su proyecto.