javascript - 如何使用 puppeteer 生成可编辑的 PDF

标签 javascript node.js pdf-generation puppeteer

我正在尝试使用 puppeteer 生成 PDF,一切正常,但输入和复选框不可编辑。在文档中,我找不到如何使其可编辑,或在其他地方。

这可能吗?如果是这样怎么办?

// ... 
const _conf = _.merge(conf, {
    format: 'A4',
    margin: {
       left: '15px',
       top: '15px',
        right: '15px',
        bottom: '15px'
                    }
   });
   const browser = await puppeteer.launch({ headless: true })
   const page = await browser.newPage()
   await page.setContent(html)
   const buffer = await page.pdf()

   await browser.close()


   return buffer;

最佳答案

Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议(protocol)控制 Chromium。该 API 允许您调用 Chromium 功能来生成 PDF。该 API 没有做任何特殊的事情,只是为 Chromium 的功能提供了一层。如上所述,这确实不是 Puppeteer 团队的问题。他们已经回答了这个@ Pdf form inputs not editable

现在,Chromium ...“另存为 PDF”选项旨在生成用于打印的 PDF,不支持映射到 PDF AcroForms 元素的 HTML 表单控件。根据项目成员 @ Issue 1024713: save-as-pdf doesn't generate editable form inputs 的回答,他们不会很快实现它。 .

底线:Puppeteer 不可能做到这一点。

关于javascript - 如何使用 puppeteer 生成可编辑的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59585162/

相关文章:

javascript - 在 NodeJS 中迭代字符串行

javascript - 使用鼠标滚轮滚动部分

javascript - 如何仅使用PG和Node返回PostgreSQL数据库结果?

ruby-on-rails - Prawn table 列中的从下到上的文本

javascript - 如何从数组中分离信息?

javascript - 为什么这个Javascript可以在FF3.6中运行?新日期 ("2010-06-09T19:20:30+01:00");

node.js - Node 中的角色和锁定端点

javascript - 结合 forEach 回调参数和函数参数

node.js - 有没有办法在 nodejs pdfkit 中将一行中的文本片段加粗?

java - 如何使用 I-Text 为 CODE 128 A 插入 FNC1 符号标识符?