java - 在 iText Java 中重命名 Radio 组
问题描述
我有 3 个 PDF,我使用 iText 5.5.11 在 Java 中合并为 1 个文档。我动态地这样做而不是拥有 1 个 PDF 的原因是因为中间文档(它是 1 页)可以根据业务逻辑和数据重复多次。
我遇到的问题是可以重复的页面有多个单选按钮,当用户选中/取消选中其中任何一个时,选择会在其他页面中重复。我尝试重命名广播组,但没有帮助。我什至签入代码以确认新名称在表单中,即使它仍然不起作用
AcroFields form = stamper.getAcroFields();
form.renameField("progress", "progress_page_1");
我已经尝试过重命名然后关闭阅读器并重新打开它,就像它不应该继承旧名称一样。似乎没有任何效果
有任何想法吗?
编辑:我尝试了以下步骤:
- 重命名字段
- 将每个带有重命名字段的单独文档保存到临时文件夹
- 读取保存的文件并使用 PdfCopy 合并为一个
该测试的结果是临时文件具有正确的字段名称,但最终合并文档中的单选框都具有相同的名称。很奇怪
例如,假设我有一个单选按钮名称为“进度”的文档,有 3 个选项:是/否/其他。我需要合并文档中同一文档的 2 个副本。我所做的是将字段重命名为 page_1_progress 和 page_2_progress。在临时文件中,它被正确命名,但在合并文件中,两个页面的名称均为 page_1_progress。这导致选择 1 个单选按钮来选择另一个
解决方案
推荐阅读
- javascript - 如何在 JavaScript 中的引号内插入引号中的变量
- c# - NuGet 包默认包已删除
- javascript - 自定义 HTML 选择 - 保留默认选项
- python - 如何使用平面上的点和法线向量在 3D 空间中使用 plotly 和破折号绘制设定区域的 2D 平面?
- php - Laravel 方法 Illuminate\Database\Eloquent\Collection::toSql 不存在。错误
- javascript - 使用两个数据点旋转 chart.js 饼图以在水平轴上对齐两个扇区
- java - 为什么这段代码会导致 ArrayIndexOutOfBoundsException?
- java - 返回在 Glassfish 5 和 Jersey 2.27 上的响应过滤器中引发的自定义异常
- visual-studio - Visual Studio 2017 工具版本 15.0
- underscore.js - 将值与 underscore.js 相加