【问题标题】:Export multiple DIVs to single pdf将多个 DIV 导出为单个 pdf
【发布时间】:2019-01-03 23:42:44
【问题描述】:

我的页面显示了 DIV 中的表格数量。这些表具有 colspan 和其他属性。我想以 pdf 格式导出整个 DIV。我可以通过使用 html2pdf 库来做到这一点。但是如果数据很大并且创建超过 17-18 个页面,它就会出现扩展问题,这是 html2pdf 库的已知问题。为了解决这个问题,我想将该父 div 分成两个并将两者结合起来,但这也是不可能的。在 nodeJS 服务器端有一些组合 pdf 的库。有人可以帮助我如何将整个 html(包含 div 和表格)发送到节点(服务器端),然后创建 PDF 并保存它吗?任何其他解决方案也会有所帮助。

【问题讨论】:

    标签: javascript html client pdf-generation


    【解决方案1】:

    您可以像这样简单地放置一个以 pdf 格式下载网站的按钮:

    <html>
        <head>
            <style>
                #print_btn{
                    cursor:pointer;
                }
            </style>
        </head>
        <body>
            <a id="print_btn">Download PDF</a>
            <script type="text/javascript">
                document.addEventListener("DOMContentLoaded", function() {
                    document.getElementById('print_btn').addEventListener('click', function(){
                        if(window.print){
                            window.print();
                        }
                    })
                });
            </script>
        </body>
    </html>
    

    使用 css @media only print{} 规则,您可以控制要隐藏或调整哪些元素。

    【讨论】:

    • 这会导致违反内容安全策略的错误。拒绝运行 JavaScript URL,因为它违反了以下内容安全策略指令:“script-src 'self'。'unsafe-inline' 关键字、哈希 ('sha256-...') 或随机数 (' nonce-...') 是启用内联执行所必需的。
    • 啊,是的。我写它的简写只是为了让你知道这个功能。我将对其进行编辑以添加事件侦听器。
    • 哦,知道了。让我试试
    • 正如我在上面的问题中提到的,html2pdf 库是一个很好的库,除了大数据。我正在使用可能包含超过 20 页的动态数据。它存在扩展问题。
    • 我想要一个合并两个 pdf 的解决方案,因为我可以从大数据中创建 2-3 个 pdf,然后合并两个 pdf。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多