使用JS将网页直接保存为PDF
Save Web page directly to PDF using JS
我想将网页直接保存为PDF。
我所做的是-
<form>
<input type=button name=print value="Print" onClick="window.print()">
</form>
但它为我提供了打印或将页面另存为 PDF 的选项。
但我想要的是当我点击按钮时,它直接将页面保存为 PDF 不显示任何选项。
JavaScript有解决办法吗?
在此先感谢您的帮助。
简短的回答是否定的,您无法阻止用户仅使用 javascript.
在他们的浏览器中看到该选项
稍微长一点的答案是,您 可以 用比 javascript 多一点的时间来做到这一点。
使用 html2canvas 等服务,您可以向服务器上的页面发送 POST 请求。使用该页面将图像转换为 PDF,并将文件作为下载输出。
假设您正在使用 PHP:
<?php
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='screen-shot.pdf'");
// The above headers will cause the file to automatically be downloaded.
// Use a library to convert the image to a PDF here.
将图像转换为 PDF 的示例库是 mPDF, or TCPDF。随意 Google 其他人,特别是如果您不使用 PHP.
请注意,此解决方案不如他们自己做出选择,因为质量肯定不会那么好。
这里必须注意,建议的解决方案是将HTML转换为图像,然后将光栅图像转换为PDF。
如果您想保存为可搜索的 PDF(因此可以以最佳质量存档和打印)并且文本打印清晰,那么您应该考虑以下选项之一:
通过为 Google Chrome 或 Safari(两种浏览器都能够 "print" 将页面保存到PDF文件)。也许您甚至可以尝试显示此指令并调用打印对话框
使用一些客户端 javascript 库通过 jsPDF (free, open source) 或类似工具
从数据生成 PDF
我想将网页直接保存为PDF。
我所做的是-
<form>
<input type=button name=print value="Print" onClick="window.print()">
</form>
但它为我提供了打印或将页面另存为 PDF 的选项。
但我想要的是当我点击按钮时,它直接将页面保存为 PDF 不显示任何选项。
JavaScript有解决办法吗?
在此先感谢您的帮助。
简短的回答是否定的,您无法阻止用户仅使用 javascript.
在他们的浏览器中看到该选项稍微长一点的答案是,您 可以 用比 javascript 多一点的时间来做到这一点。
使用 html2canvas 等服务,您可以向服务器上的页面发送 POST 请求。使用该页面将图像转换为 PDF,并将文件作为下载输出。
假设您正在使用 PHP:
<?php
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='screen-shot.pdf'");
// The above headers will cause the file to automatically be downloaded.
// Use a library to convert the image to a PDF here.
将图像转换为 PDF 的示例库是 mPDF, or TCPDF。随意 Google 其他人,特别是如果您不使用 PHP.
请注意,此解决方案不如他们自己做出选择,因为质量肯定不会那么好。
这里必须注意,建议的解决方案是将HTML转换为图像,然后将光栅图像转换为PDF。
如果您想保存为可搜索的 PDF(因此可以以最佳质量存档和打印)并且文本打印清晰,那么您应该考虑以下选项之一:
通过为 Google Chrome 或 Safari(两种浏览器都能够 "print" 将页面保存到PDF文件)。也许您甚至可以尝试显示此指令并调用打印对话框
使用一些客户端 javascript 库通过 jsPDF (free, open source) 或类似工具
从数据生成 PDF