Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular JS generating PDF - any creator - maker modules?

As title says, is there any PDF creator / generator for Angular?

I have seen https://github.com/MrRio/jsPDF, but can't find any for Angular. I want to make an html page to a pdf file for download.

like image 822
Stweet Avatar asked Jan 21 '15 16:01

Stweet


4 Answers

You can wrap the JavaScript project you mentioned into a service that you call throughout your app. This is actually a rather standard practice and it also isolates your code if you ever need to change the underlying implementation .

like image 55
Enzey Avatar answered Oct 13 '22 06:10

Enzey


Looks like @Mike had it close there. A few quick changes generated a decent looking file and brought up a print pop-up.

1 - Give the area that you want to print an ID of 'printArea'

2 - Add the $window service

$scope.printIt = function(){
   var table = document.getElementById('printArea').innerHTML;
   var myWindow = $window.open('', '', 'width=800, height=600');
   myWindow.document.write(table);
   myWindow.print();
};
like image 30
stackSean Avatar answered Oct 13 '22 06:10

stackSean


You can use window.print() which prints current HTML document. Use media queries to adjust styles document. You can build your document in fly and call print anytime you want

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

Some code from one of my project, print's only content from table:

 $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();

  };
like image 34
Mike Avatar answered Oct 13 '22 06:10

Mike


There's this Angular directive wrapping up jsPDF functionality:

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

like image 41
Milox Avatar answered Oct 13 '22 05:10

Milox