javascript - 使用JS在Chrome中将页面打印为PDF并打开

标签 javascript google-chrome pdf

我有一个包含许多不同页面的内部网站,所有页面都有一个仅由 CSS 控制的可打印版本。我的用户使用 Chrome 的打印/另存为 PDF 菜单命令创建 PDF。我想知道是否可以使用 JavaScript 从按钮启动另存为 PDF 并自动打开保存的 PDF(实际上保存并不重要,只需在新选项卡上查看即可)。

只有 Chrome 的解决方案是可以的。如果需要安装 Chrome 扩展程序,这也不是问题。只要我不必为每个页面布局编写额外的 PDF 呈现代码,一切都很好。

最佳答案

无法强制浏览器将某些内容打印为 PDF,甚至无法向打印机发送请求,最好的方法是使用 JavaScript 中的 print() 函数。

您可以这样做的一种方法是使它成为一个 iframe 对象并像这样打印它:

document.getElementById('content-frame').contentWindow.window.print();

这将使它为 iFrame 发送一个打印菜单,只打印 iFrame 中的内容。

关于javascript - 使用JS在Chrome中将页面打印为PDF并打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324435/

相关文章:

javascript - WebGL : Set opacity when using texture2D()

javascript - 如何找到调用函数的位置(函数调用堆栈)

google-chrome - 在 url 中使用别名时,Chrome 版本 69 中使用 NTLM 代替 Kerberos

google-chrome - 如何在 Chrome 扩展程序中捕获单个 HTML 元素的屏幕截图?

pdf - 如何从WKHTMLTOPDF的目录中删除目录?

python - 我想用 python 抓取一个印地语(印度语言)pdf 文件

javascript - 如何避免 JSON.stringify 在特殊情况下返回未定义,从而创建 JSON.parse 失败的字符串?

javascript - 在Vue中,createElement()实际获取哪些参数?

c# - HTML 到 PDF 动态添加目录 (TOC)

javascript - 将对象数组转换为嵌套数组