如何使用Puppeteer生成可编辑的PDF文件。

5

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

2个回答

8
Puppeteer是一个Node库,它提供了一个高级API来控制Chromium DevTools协议。该API允许您调用Chromium功能来生成PDF文档。API并没有做什么特殊的事情,只是提供了到Chromium功能的接口。就以上而言,这确实不是Puppeteer团队需要回答的问题。他们已经在Pdf form inputs not editable中回答过了。现在来看Chromium... "Save as PDF"选项旨在生成打印PDF文件,不支持HTML表单控件映射到PDF AcroForms元素。根据项目成员在Issue 1024713: save-as-pdf doesn't generate editable form inputs的回答,他们不会很快实现它。总之:使用Puppeteer是不可能实现的。

0
对于那些像我上次一样被卡住的人 - 如上面的答案所述,无法使用puppeteer完成,但我编写了一个基于pdftk的库,支持UTF8字符,并且可以重用pdf中的同一属性来填充多个字段 - https://www.npmjs.com/package/pdftk-fill-pdf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接