首页 > 解决方案 > 如何使用 puppeteer 生成可编辑的 PDF

问题描述

我正在尝试使用 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;

标签: javascriptnode.jspdf-generationpuppeteer

解决方案


Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium。该 API 允许您调用 Chromium 功能来生成 PDF。API 没有做任何特别的事情,只是为 Chromium 的功能提供层。综上所述,这确实不是 Puppeteer 团队的问题。他们已经回答了这个@Pdf 表单输入不可编辑

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

底线:使用 Puppeteer 是不可能的。


推荐阅读