web-dev-qa-db-fra.com

Angular Génération JS PDF - des modules créateur-fabricant?

Comme le titre l'indique, y a-t-il un PDF créateur/générateur pour Angular?

J'ai vu https://github.com/MrRio/jsPDF , mais je n'en trouve pas pour Angular. Je veux créer une page html dans un fichier pdf à télécharger.

8
Stweet

Vous pouvez envelopper le projet JavaScript que vous avez mentionné dans un service que vous appelez tout au long de votre application. Il s'agit en fait d'une pratique plutôt standard et elle isole également votre code si vous avez besoin de changer l'implémentation sous-jacente.

6
Enzey

On dirait que @Mike l'a eu à proximité. Quelques modifications rapides ont généré un fichier d'apparence décente et fait apparaître une fenêtre contextuelle d'impression.

1 - Donnez à la zone que vous souhaitez imprimer un ID de 'printArea'

2 - Ajoutez le service $ window

$scope.printIt = function(){
   var table = document.getElementById('printArea').innerHTML;
   var myWindow = $window.open('', '', 'width=800, height=600');
   myWindow.document.write(table);
   myWindow.print();
};
5
stackSean

Il y a cette fonctionnalité Angular wrapping up jsPDF :

https://github.com/sayanee/angularjs-pdf

1
Milox

Vous pouvez utiliser window.print () qui imprime le document HTML actuel. Utilisez les requêtes multimédias pour ajuster le style des documents. Vous pouvez créer votre document à la volée et appeler l'impression à tout moment

@media print { 
 /* All your print styles go here */
 #header, #footer, #nav { display: none !important; } 
}

Du code d'un de mes projets, seul le contenu de la table est imprimé:

 $scope.print = function () {
    console.log('modal print');

    var table = document.querySelector('.CSSTableGenerator').innerHTML;
    var myWindow = window.open('', '', 'width=800, height=600');
    myWindow.document.write(table);
    myWindow.print();

  };
1
Mike