12
votes

Générer un fichier PDF à partir de HTML à l'aide de Angular2 / Typescript

Je veux faire une partie de mon modèle HTML et le convertir en fichier PDF pour donner à l'utilisateur une option pour la télécharger. (Après avoir cliqué sur un bouton par exemple).

J'ai trouvé une bibliothèque appelée JSPDF, comment utiliserais JSPDF dans une application angular2 (RC4)?

merci


0 commentaires

4 Réponses :


12
votes

comme réponse

Ce lien est nécessaire pour importer du contenu JSPDF xxx

puis dans votre composant.ts

Vous faites cela xxx


0 commentaires

1
votes

Pourquoi utiliser la définition d'utilisation (également appelée déclaration) Fichiers?

Pour utiliser des bibliothèques JavaScript externes (JSPDF, par exemple) avec des applications Angular2 (qui utilisez dossier) Vous souhaitez que les fichiers de définition de type pour ces bibliothèques JavaScript. Ces fichiers fournissent des informations de type (comme dans chaîne , numéro , boolean , etc.) à TypeScript pour l'aide pour la vérification de l'heure de compilation. (Étant donné que JavaScript est téléchargé lâchement)

Une autre explication sur les fichiers D.TS peut être trouvée Ici .

Comment utiliser

Vous pouvez télécharger un package NPM appelé dactylographies qui aidera à accélérer le processus. Voici Un guide court sur la façon de l'utiliser. Une fois que vous avez installé des dactogies, vous pouvez exécuter: xxx

pour obtenir le fichier de caractères que vous pouvez ensuite utiliser dans votre projet.


1 commentaires

Hey Scrambo, j'ai fait exactement ce droit de la chauve-souris. Mais pour une raison quelconque, cela ne fonctionne pas spécifiquement avec JSPDF (je l'ai déjà fait auparavant avec moment). La raison pour laquelle je peux remarquer est que, pour une raison quelconque, l'instruction d'importation tente d'obtenir le module à partir de la dépendance nœud_modules au lieu de recevoir de l'index.d.t déclaré dans les dactoges globales. Ensuite, je reçois le message (dans la console de navigateur): Erreur: TypeError: Module AMD localhost : 5555 / Node_Modules / JSPDF / DIST / JSPDF.MIN.JS n'a pas défini (...)



18
votes

Si vous souhaitez l'utiliser dans la production, vous ne voulez certainement pas dépendre d'une liaison Internet référencée dans votre index.html, comme proposé par @khalil_diouri.

Donc, pour l'utiliser correctement dans un angular2 / Environnement dossier, d'abord l'installer à partir de NPM P>

NPM Installation --Save JSPDF code> p>

Si vous utilisez SystemJS, mappez-la dans votre fichier de configuration P>

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


2 commentaires

Je pense qu'en anguleux, je devrais pouvoir utiliser le modèle de composant. Existe-t-il un moyen facile de convertir le modèle déjà construit et stylé dans les méthodes JSPDF?


J'ai fini par utiliser ce ... Source de la vue: CDN. rawgit.com/mrrio/jspdf/master/examples/html2 pdf / ...



2
votes

La méthode AddHTML est obsolète:

Source: Plugins / addhtml.js, ligne 12 Obsolète: Ceci est en train de remplacer par une API de support vectoriel. voir ici

rend un élément HTML à un objet toile qui a ajouté au PDF

Cette fonctionnalité nécessite HTML2CANVAS ou RasterizeHTML


0 commentaires