JavaScript“打印”按钮直接转为“另存为PDF”

5
我希望实现一个按钮,允许用户保存HTML页面的PDF副本。我知道他们可以通过“打印”界面并选择“另存为PDF”选项来完成,但我更希望我的按钮自动选择该选项,以便自动选择“另存为PDF”选项(或者更好地直接进入PDF下载)。是否有一种方法在JavaScript中实现这一点?
2个回答

8
在Windows系统中,打印对话框中似乎不存在“保存为PDF”的按钮。无论如何,Javascript不能实现这个功能。
如果你真的想让你的访问者下载PDF文件,你需要在服务器端渲染PDF文件并将按钮链接到PDF文件。

这是本质上不正确的说法。从客户端生成PDF的最主要工具是jsPDF。还有其他工具。 - Dave Alperovich
据我所知,jsPDF的第一个版本是在2014年2月发布的。这是在我的回复之后6个月。 - Oskar Hane
2
实际上,jsPDF最初在2009年进行了beta测试,并于2010年发布了生产版本。自那时以来,多个插件和js包使得您的答案要么错误,要么过时。看起来是时候进行修订或删除了。 - Dave Alperovich

0

为什么不直接将按钮链接到一个将页面转换为PDF的脚本呢?您可以使用自己的服务器脚本将页面转换为PDF,也可以使用类似于HTM2PDF的服务的“另存为PDF”链接。

在这两种情况下都不清楚为什么需要使用JavaScript。但是,如果您真的想使用JavaScript,我相信有一些像PhantomJS这样的JavaScript“无头webkit”。


PhantomJS是获取HTML源代码的好工具,但像jsPDF这样的软件包可以实现OP的意图。开源软件包不断改进,商业软件包也非常好。由于帖子已关闭,您在修订答案方面将非常有帮助。目前,这篇文章会误导任何来到这里的人。 - Dave Alperovich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接