问题标签 [acrofields]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4373 浏览

java - 使用 pdfbox 调用 acroform.getFields() 时为空

我试图以 pdf 形式获取所有可用字段,但在使用 PDFBoxNullPointerException调用时遇到了一个问题。acroform.getFields()

样本:

0 投票
1 回答
2350 浏览

pdf - 如何在 iText 中获取 AcroField 修订的名称?

我目前正在开发一种用于在 pdf 文档上应用和验证数字签名的工具。我了解 pdf 文档中的每个签名都适用于 AcroFields 的某个版本。每次用户更改某些输入(即通过填写 pdf 表单)时,都会创建一个新的修订。

我的问题是:如何从 AcroFields 对象中检索所有修订?如果我有这样的名字,我知道如何获得一个修订:

但是我怎样才能检索所有的修订(或它们的名字,至少)?到目前为止,我还没有在 iText API 和网络中找到任何东西。

我在 2.1.7 版中使用 iText。

谢谢和问候,汤姆

0 投票
1 回答
4779 浏览

php - 需要在线自动填充信息到可填写的PDF,可以编辑数据,然后直接保存到服务器

我正在开展一个项目,其中一个主要重点是用户能够使用数据自动填充已经创建的行业标准可填写模板 PDF 表单,然后编辑未填充的字段(和/或已填充)并将表单以 PDF 格式保存到服务器(已填充字段)。

不压扁。

因为用户还需要能够调用同一个文件(文件的名称和位置将保存在数据库中)以进行更改、打印并重新保存。对填充字段的更改不一定需要移植回数据库以“修复”源数据。

大多数 PDF 将是多页,但不需要进行合并,因为这些页面已经在源 PDF 中,并且具有可填写的字段。

我希望通过 SSL 连接在 CentOS 系统上的 PHP/MySQL 环境中执行此操作。欢迎任何解决方案或解决方案组合(FPDF、PDFtk、iText、Java、AJAX、Reader XI 等)。

公司已经想出的我可以购买的解决方案是可以的。

我已经搜索 SO 和 Google 好几天了,似乎找不到一个包罗万象的方法来完全满足我的需要。任何帮助或指向正确方向将不胜感激。

0 投票
1 回答
13458 浏览

c# - 如何使用 acrofields 创建模板 PDF 文件?

我需要使用 acrofields 创建一个新的模板 PDF 文件。将它们替换为数据库中的数据并将其另存为 PDF 格式的新文件。我发现它可以使用 itextsharp 来实现。但我不知道如何使用 acrofields 创建模板 PDF 文件?给我找一个更好的方法!

0 投票
2 回答
5076 浏览

c# - 展平后缺少 AcroForm 值

我正在使用 LibreOffice 4.1.3.2 生成可填写的 PDF:

  1. 创建了 Writer 文档
  2. 设置一些文本和测试字段
  3. 导出为 PDF

使用 Acrobar Reader 打开 pdf 文件会显示正确的可填写 pdf。
接下来我使用 iTextSharp 5.4.5 填充字段并保存扁平化文档:

问题是填充的字段值在新文档中完全消失了!
我以为没有找到或填写字段,但发现stamper.FormFlattening = true保存的 pdf 中有评论字段值!
当然,我需要一个扁平化的pdf...

有解决方案吗?

0 投票
3 回答
1507 浏览

java - PdfCopy 中的 iText mergeFields 创建无效的 pdf

我正在处理使用 iText 5.4.5 合并一些输入 PDF 文档的任务。输入文档可能包含也可能不包含 AcroForms,我也想合并表单。

我正在使用此处找到的示例 pdf 文件,这是代码示例:

  • 对于包含表单的输入文件,我得到一个NullPointerException启用或不启用压缩的选项。
  • 使用标准输入文档,会创建输出文件,但是当我用 Acrobat 打开它时,它说出现问题 (14),并且没有显示任何内容。
  • 在禁用标准输入文档和压缩的情况下,将创建输出并由 Acrobat 显示。
问题
  • 我以前这样做过,PdfCopyFields但现在不赞成使用 中的布尔标志mergeFieldsPdfCopy这是正确的吗?该标志上没有 javadoc,我找不到有关它的文档。
  • 假设上一个问题的答案是肯定的,我的代码有什么问题吗?谢谢
0 投票
1 回答
977 浏览

pdf - itext setField 复制字段值

我对 iText 和 acrofields 有一个奇怪的问题。我创建了一个 PDF 并添加了 acrofields。现在,当我执行 form.setField ('a field name', "a value") 并显示或打印 PDF 时,该值会被复制(一次以较小的字体,一次以该文档的预期字体)。我检查了文档的结构,看起来我的 Acrofield 没有重复。这可能是什么原因

提前致谢

帕斯卡

请在此处找到链接:https ://drive.google.com/file/d/0B8O5n5QFSSNrSGVlNllOcEJHRzQ/edit?usp=sharing

我在 Ubuntu 上。也许这就是为什么!我正在使用 evince 查看文件,但是当我打印它时得到相同的结果。我附上了我看到的截图。https://drive.google.com/file/d/0B8O5n5QFSSNrWXJyY2VpSkt5NE0/edit?usp=sharing 当我说重复时,我应该说阴影。该字段的值首先在没有字体样式的情况下显示,然后用所需的字体覆盖。

我展示的代码非常简单。2 个数组是字段的名称及其关联值。如果值为xxxx,我将字段值设置为其在该数组中的索引。正如您在屏幕截图中看到的那样,它也被遮蔽了。我的打印输出看起来与屏幕截图一模一样。我还没有在其他平台上尝试过。

这是用groovy编写的代码

0 投票
1 回答
258 浏览

acrofields - 在windev中获取表单名称

我在 WinDev 中使用 Itextsharp 并尝试获取表单的名称。我的代码如下:

Machaine est une chaine

MonPdfReader est un PdfReader(PdfSource)

问题是“MonPdfReader.AcroFields.Fields.Keys”不被接受。

感谢您的想法...

0 投票
1 回答
3204 浏览

c# - iTextSharp - 移动 Acrofield

我有一个将目录插入现有 Acroform 的过程,并且我能够跟踪我需要从哪里开始该内容。但是,我在该点下方有现有的 Acrofields,需要根据我插入的表格的高度向上或向下移动。有了这个,我怎样才能改变 Acrofield 的位置?下面是我可以用来“获取”位置的代码......但现在我还需要能够“设置”它。

……

// ** 需要在此处明确设置字段的新位置

……

0 投票
0 回答
409 浏览

c# - 将 Acrofield 移动到其他页面

类似于iTextSharp - 移动 Acrofield但没有 Reputation 我不能在那里写评论。

RadioButtonItem 如何移动到不同的页面?我尝试了几件事,包括使用内部方法“ForcePage”、属性“PlaceInPage”或将 PdfName.P 设置为新页面但没有成功:

这不会以任何方式影响生成的 PDF 中的字段位置,而取自另一个 SO-Question 的示例非常适合在当前页面内移动 radioField:

在不同的尝试中使用旧的值创建一个新的无线电场:

这会在第 1 页上添加所有 RadioField,而不是在应该放置项目本身的页面上。

如果您想知道我的任务的目的:在我们的大多数 PDF 中,我们在不同的页面上都有几个 Gender-Radio。它们都具有相同的字段名(“性别”)并且应该一致行动 - 因此,当您在一个页面上选择“男性”时,也会在所有其他页面上选择“男性”选项。使用 InDesign 生成交互式 PDF 后,单选按钮未使用 unison-flag 标记,如下所示:

http://i.stack.imgur.com/3NTaN.jpg

当我们在 Acrobat 中手动打勾时,一切正常,但是文档很多并且经常重新创建,因此我们必须通过代码来完成。

尝试通过代码修改一致行为,我尝试了以下示例:

令人惊讶的是,“一致地选择了具有相同名称和选项的按钮” - 检查 Acrobat 中的单选按钮属性时,现在选中了复选框,但它仍然没有一致地行动。

在所有目标页面上放置几个具有相同字段名(“性别”)的 RadioGroup(在“AddAnnotation”方法中设置页码),它们会显示在正确的位置,但不会一致(例如选择“男性”尽管在“GetRadioGroup”-Method 中设置了“radiosInUnison”-Parameter,但在第 2 页上取消选择第 1 页上的无线电)

将所有 radioFields 添加到一个 radioGroup 时,行为与预期一致,但我们不能将 radioFields 拆分到不同的页面上,如上所示。