寻找将 html 代码转换为基于文本的 PDF 的解决方案

问题描述 投票:0回答:1

所以基本上我需要使用js或java将我的html代码转换为pdf文件

我一直在尝试几种工具,并发现了一种名为 html2pdf 的工具,它非常适合动态转换 CSS 和 HTML 文件。然而,主要问题是 html2pdf 目前将 HTML 转换为图像,然后将其推送到 PDF 文件。这会导致 PDF 文件无法搜索或复制。由于我们无法改变 html2pdf 将 HTML 转换为图像的事实,因此我正在寻找一种新工具,可以使用 Java 或 JavaScript 将 HTML 和 CSS 转换为 PDF。

window.onload = function () {
    document.getElementById("download").addEventListener("click", () => {
        const allvoice = document.getElementById("allvoice");

        var opt = {
            margin : [20,0],
            filename: 'myfile.pdf',
            image: { type: 'png', quality: 0.98 }, 
            html2canvas: {
                scale: 2,
                logging: true,
                dpi: 192,
                letterRendering: true
            },
            jsPDF: {
                unit: 'mm',
                format: 'a4',
                orientation: 'landscape',
            },
            pagebreak: {  mode: ['avoid-all', 'css', 'legacy'] }
        };

        html2pdf().from(allvoice).set(opt).toPdf().get('pdf').then(function(pdf) {
            var totalPages = pdf.internal.getNumberOfPages();
            for (i = 1; i <= totalPages; i++) {
                pdf.setPage(i);
                pdf.setFontSize(10);
                pdf.setTextColor(100);
                pdf.text('Page ' + i + ' of ' + totalPages, (pdf.internal.pageSize.getWidth() / 2.3), (pdf.internal.pageSize.getHeight() - 0.8));
            }
        }).save();
    });
}

我正在使用 EKOOPMANS 的 html2pdf

javascript html css html-pdf
1个回答
0
投票

Puppeteer(JS) 可以生成带有可选择和可搜索文本的 PDF。

© www.soinside.com 2019 - 2024. All rights reserved.