php - 从大于单页的动态创建的表格 (div) 创建多页 PDF

标签 php jquery mysql css jspdf

我使用 php 和 mysql 动态创建一个表到包含的 div 中,然后我使用 jsPDF 打印它。一切都很好,直到表格超过一页。然后我得到的只是第一页。我花了数周、数小时阅读、尝试和测试,但无法打印超过第一页。

这是我所拥有的:

<!-- jsPDF Scripts -->
<script src="//mrrio.github.io/jsPDF/dist/jspdf.debug.js"></script>
<script src="//html2canvas.hertzen.com/build/html2canvas.js"></script>

$(document).ready(function() {

        $("#pdfDiv").click(function() {

            var pdf = new jsPDF('p','pt','letter');


            pdf.addHTML($('#rentalListCan').first(), function() {
                pdf.save("rentals.pdf");
            });
        });
    });

我试过直接打印页面,但格式不成立。

我已经尝试使用 @pagepage-break-inside: auto 的 css,但它不会创建分页符。感谢您的帮助。

最佳答案

要解决您的问题,我知道有两种方法 -

  1. 为要拆分的页面提供选项

    选项 = { 分页:真 };

    然后-

    pdf.addHTML($('#someDiv'), marginX,  marginY, options, function() {
        pdf.save("doc.pdf");
    });
    

请注意,这可能会严重拆分您的表格(尝试一下,您会看到)- 您可以做的一件事是在将页面打印为 pdf 之前拆分的行之间添加空白。 发生这种情况是因为 fromHTML() 将表格转换为 Canvas ,然后根据 pdf 的页面大小拆分 Canvas 。

  1. 使用这样的插件 - https://github.com/Prashanth-Nelli/jsPdfTablePlugin

但这里暂不支持自定义表格样式。但是您可以自定义字体和颜色。如果您的表格足够简单,那么它是一个很棒且易于使用的插件。

希望这对您有所帮助!

关于php - 从大于单页的动态创建的表格 (div) 创建多页 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176264/

相关文章:

php - 利用php fopen中的漏洞

javascript - JavaScript重定向后CSS无法正确加载

php - mysql UUID as String如何加快查询速度

php - 如何在 Codeception 测试中选择单击元素?

php - 需要帮助升级 PEAR 以安装 PHPUnit

javascript - 如何使对话框在窗口中居中?

javascript - 菜单栏滚动在IE中不起作用

c# - 在ASP.net C#Web表单Web应用程序中自动访问和关闭数据库

php - PDO准备函数问题

phpmyadmin 正在显示一些文本页面