angular-save-html-to-pdf
v1.3.2
Published
Save HTML in pdf format totally by using frontend in angularjs . Basically this respository is a combination of some angular directives which are using other libraries to convert html to html5canvas and save that html5canvas as pdf . Everything happens in
Downloads
704
Maintainers
Readme
Angularjs save HTML as PDF in your browser
This is an angularjs module to save HTML as PDF DEMO, it basically converts the HTML to HTML5 canvas and captures the same and converts it to PDF and saves it in your browser .
- Link the JS files in your HTML file :
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<script src="https://cdn.rawgit.com/niklasvh/html2canvas/0.5.0-alpha2/dist/html2canvas.min.js"></script>
<script src="../bower_components/jsPDF/dist/jspdf.debug.js"></script>
<script src="../dist/saveHtmlToPdf.min.js"></script>
- Add this module to your angular app :
var app = angular.module('app' , ['htmlToPdfSave']) ;
- Use the directives in your app , here is a code snippet from a working copy in demo folder :
<button pdf-save-button="idOne" pdf-name="someone.pdf" class="btn">Hello Someone</button>
<!-- below block will be saved as pdf -->
<div pdf-save-content="idOne" >
Hello Someone
</div>
<button pdf-save-button="idOneGraph" pdf-name="hello.pdf" class="btn">Hello World</button>
<!-- below block will be saved as pdf -->
<div pdf-save-content="idOneGraph" >
Hello World
</div>
To allow addition of multiple pdf save button and linking them to the pdf save content block every pdf-save-button and pdf-save-content directive is associated with an ID , the pdf-save-button will match the ID with pdf-save-content block and the matching HTML block will be saved .
Developer instructions:
If you would like to run the project locally, you can download the repo and run : 1)
> gulp concat
> gulp compress
```
commands to create the bundled file which is then used in the demo/index.html file.
2) demo/index.html file can be served easily by any static web server to test the project, I use and thus recommend python server which you can start by writing
``` python -m SimpleHTTPServer 9090 ```
9090 can be replaced by your prefered port. <br/>
NOTE : This is a new repository and has been tested with basic HTML and google graphs , please create github issues if you find it is not working with something and consider contributing. Cheers .