【问题标题】:Fill PDF form using perl or node使用 perl 或 node 填写 PDF 表单
【发布时间】:2017-07-26 07:03:16
【问题描述】:

我需要填写 PDF 表单,其中也包含单选按钮。我尝试用 perl、CAM::PDF 模块和nodepdf-fill-form 模块填充它。 在 node 中,radio 的值总是未定义的:

{
    name: 'Op1',
    page: 14,
    value: undefined,
    id: 983128,
    type: 'radio'
}

在 perl 中,对象的值如下所示(如果选中第一个选项是 S,第二个:XL,第三个:2XL 等):

'V'=> bless({
    'gennum'=>0,
    'value'=>'S',
    'type'=>'label',
    'objnum'=>988
},
'CAM: : PDF: : Node')

如果我将 S 更改为 XL,PDF 中什么也不会发生。

有人知道如何填写单选框吗? 提前感谢您的帮助, 安娜

【问题讨论】:

  • 关于 CAM::PDF,您可能需要将其保存回来。你这样做吗?请edit您的问题并包含 Perl 和 node.js 的完整程序。我不知道 node.js 标记中的人们如何喜欢它,但是在 Perl 标记中我们需要一个minimal reproducible example。在你的情况下,完整的程序是有意义的。
  • 是的,我保存了。这是 node.js 程序: var pdfFillForm = require('pdf-fill-form'); var fs = 需要('fs'); var original_pdf = process.argv[2]; var input_json = process.argv[3];变种结果 = 进程.argv[4]; var formFields = pdfFillForm.readSync(original_pdf); for (var item in formFields) { console.log(formFields[item]); } var mydata = JSON.parse(fs.readFileSync(input_json, 'utf8')); var pdf = pdfFillForm.writeSync(original_pdf, mydata, { "save": "pdf" } ); fs.writeFileSync(result, pdf);
  • edit您的问题包括在内。它在评论中不可读。

标签: node.js forms perl pdf radio


【解决方案1】:

您可以使用 node js npm pdf-fill-form 模块。 假设您正在尝试设置性别: 您的单选按钮必须以这种方式形成。

{ name: 'gender',
    page: 0,
    value: false,
    id: 65558,
    caption: 'male',
    type: 'radio' },
  { name: 'gender',
    page: 0,
    value: false,
    id: 65559,
    caption: 'female',
    type: 'radio' }

这里的标题很重要。 如果您尝试将性别设置为男性,则只需这样做

{ gender: 'male'}

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 2013-01-08
    • 2023-04-02
    • 1970-01-01
    • 2021-12-19
    • 2018-10-26
    • 2021-12-14
    • 2021-10-26
    • 2013-02-19
    相关资源
    最近更新 更多