Use window.print content to download a web page as pdf

佐手、 提交于 2019-12-06 06:31:45

问题


I would like to have a link that when is clicked, automatically starts the download of the printable version of the web page.

I'm using Moodle. The content I want it's exactly the same If I download the page using ctrl + p and saving as pdf or using

<a href=\"whatever.htm\" onClick=\"window.print();return false\">Download web page</a>

I want exactly that content because using this way, the header, sidebar and footer is removed. I don't want css.

I'm not using this because this doesn't work in some browsers.

I'd rather not using pdf libraries like tcpdf because Moodle loads the content in a dynamic way and send this to a libraries like that is a mess.

I tried using sites like pdfcrowd.com but this kind of sites don't work when the site you want to convert to pdf uses a server-side session to identify the user.


回答1:


I don't believe that there is a way to do this with window.print(). However, there are HTML to PDF converters available for free, and you could automatically start a download with that. An example of this would be jsPDF, a free library for converting HTML to a PDF with Javascript




回答2:


**There is easy ways to use jsPDF its very simple just you will use JSpdf Library **

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js"></script>

function onClick() {
  var pdf = new jsPDF('p', 'pt', 'letter');
  pdf.canvas.height = 72 * 11;
  pdf.canvas.width = 72 * 8.5;

  pdf.fromHTML(document.body);

  pdf.save('test.pdf');
};

var element = document.getElementById("clickbind");
element.addEventListener("click", onClick);


来源:https://stackoverflow.com/questions/20646168/use-window-print-content-to-download-a-web-page-as-pdf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!