繁体   English   中英

使用 JS 或 PHP 将 html 转换为 pdf 的最快方法是什么?

[英]What is the fastest way to convert html to pdf using JS or PHP?

我有一个大约 100.000 行的长表,它是动态生成的(从技术上讲,它可以是 div)。 需要将此 html 数据导出为 pdf。

我曾尝试使用html2pdf.js 但是当它超过 5000 行时,它开始工作非常缓慢并且导出的 pdf 尺寸很大。 我认为这是由于将 html 保存为图像,然后将其插入到文档中。

已经尝试过html2pdf.php从超过 500 行开始也工作缓慢已经有问题,但文档大小很好。

已经用 node js 尝试过html-pdf 工作速度比前 2 快得多,但有一个限制。 Node js 脚本在服务器上,当有多个客户端时,性能会在所有客户端之间分配,性能会急剧下降。

我正在寻找可以在可接受的时间内将很长的 html 表转换为 pdf 文档的库。

我的需求可以描述为:

1 ) 脚本可以在浏览器 (Javascript) 中运行并且应该足够快,以免让用户等待很长时间。

2 ) 脚本可以使用PHP/Node js运行在服务器上,但这里要考虑到多个用户可以同时请求pdf。

3 ) 对于 Java 或 Python 的示例,可能还有其他一些解决方案,它们将在 Linux 服务器上运行,可以很容易地从浏览器触发?

选项 1 或 2 是最理想的。

谢谢!

其中一条评论(由于某种原因被删除)建议我尝试AutoTable - Table plugin for jsPDF 谢谢! 这个 js 库 html2pdf 插件做得非常棒! 以光速工作。

如果您使用 PHP,我会推荐 DomPDF,因为它很简单。 这是基于他们的快速入门示例的示例

// reference the Dompdf namespace
use Dompdf\Dompdf;

// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml('hello world'); //complete page DOM goes here

// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');

// Render the HTML as PDF
$dompdf->render();

// Output the generated PDF to Browser
$dompdf->stream();

您可以在其存储库中找到有关如何安装和其他示例的更多信息: https : //github.com/dompdf/dompdf

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM