Tom
Tom

Reputation: 3166

Exporting HTML input values to PDF using jsPDF

I have an HTML form with several user input fields of type checkbox, text area and radio buttons that I need to download as a PDF file with the input values given by the user. I'm using jsPDF successfully to export the HTML div to a PDF but the input fields do not have any values in the PDF result. How do I export the entire form with the input values? Here is my jsPDF javascript for exporting to PDF:

self.onDownload = function (divId){
     var doc = new jsPDF();
     doc.fromHTML(document.getElementById(divId), 15, 15, {
          'width': 170
     });
     doc.save('sample-file.pdf');
}

Upvotes: 2

Views: 6280

Answers (2)

gordonhch
gordonhch

Reputation: 1

This seem to be false, albeit being a year later.

By using

doc.text(20, 20, document.getElementById("YourDiv/Paragraph").innerHTML);

or

document.getElementById("InputField").value

I could use elements within the html file properly.


Leaving this here to avoid confusion in the future. For variables as asked here: Variables in jsPDF

Upvotes: 0

Venator
Venator

Reputation: 352

I myself have been building functionality like you have described.

With regards to the issue you are experiencing, my current understanding is that most PDF generation libraries, like jsPDF, can't read/interpret the value attributes of input fields, which is why they aren't appearing in the PDF.

One way around this is to use a DOM to Image generator, then to save the image as a PDF. While it's not the most elegant of solutions, it does work and is the best solution I have found thus far. I've been using the html2canvas library for creating the image, and jsPDF for creating the pdf.

There is a tutorial here, that takes you through setting up a basic html to pdf function, using html2canvas and jsPDF.

Upvotes: 2

Related Questions