将Livecycle动态可填写的PDF转换为静态可填写的PDF(而不是压缩PDF)

4
我有一个特殊的情况,需要将Livecycle ES4 Forms Designer创建的动态表单(XFA PDF)转换为静态表单(普通PDF)。
请注意,如其他帖子和论坛所述, 1. 我使用打印驱动程序将livecycle表单保存为PDF,但这会使文件变平,即PDF字段都不可读。 2. 使用JavaScript使所有字段“只读”,但这仍将保持表单格式为动态PDF而不是静态PDF。
在我的情况下,我不想使表单变平,我只想要一个非动态PDF,就像在Acrobat中创建的那样,无法交互。 是否有任何解决方案可以在LiveCycle中使用JavaScript轻松实现?
例如- 步骤1-假设在Adobe Livecycle中创建了一个“联系人详细信息”表单。 用户在Adobe Reader中打开此表单并看到联系人#1框。 然后用户通过使用“添加联系人”按钮(请参见附加的屏幕截图)创建另外2个联系人框。
注意:如果单击添加/删除按钮或复选框,则表单的结构/布局将更改,因为这是动态表单。

enter image description here

步骤2 - 现在用户应该能够将此表单保存为静态PDF(而不是Livecycle文档),其中表单的结构/布局是固定的(即添加/删除按钮或复选框不能更改布局),但表单的字段应在新保存的版本中可编辑。

如何实现第二步?

更新:
我找到了一种手动方法 -

  1. 使用“打印为PDF”功能将Livecycle PDF转换为扁平化PDF。
  2. 打开Adobe Acrobat,转到创建 -> 创建表单 -> 选择“从现有文档” -> 上传您在第1步中创建的扁平化PDF。
  3. Acrobat将检测表单字段。将其保存为可填写的静态PDF。

我注意到这些步骤期间结构、字体和数据都得以保留。

显然客户不会执行上述步骤。 因此,我正在尝试获取有关如何从Livecycle PDF文档的一个按钮点击自动执行这些步骤的答案。

是否有任何API /插件可以自动执行此操作?


在设计师的保存对话框中保存为“静态表单”的结果不是您要查找的内容吗? - Jan Slabon
嘿,不会的。使用表单的最终用户不会使用LiveCycle。他们将使用Adobe Reader,我相信Reader无法进行此转换。 - ElevatedLyf
1
也许你应该在问题中添加示例文档(当前和期望的)。对我来说,扁平化的文档是一种非交互式的文档。因此,我不确定你期望什么结果以及你手头有哪些资料。 - Jan Slabon
我同意@mkl的观点...这是不可能的。也许像iText XFA Worker这样的服务器端解决方案可以做到这一点... - Jan Slabon
1
那么,如果不使用Adobe Reader,那么在表单上放置一个按钮,该按钮将具有调用“某些逻辑”以将文档转换为静态PDF的JavaScript,如何呢? 对于“某些逻辑”有什么线索吗? :) - ElevatedLyf
显示剩余3条评论
3个回答

1
发现一种可能性:使用PDFCreator和acrowrap工具将PDF XFA转换为PDF 1.4。

0

在Reader中将动态表单转换为Acroform是不可能的。

我认为您可以在表单内添加一个按钮,禁用所有“添加联系人”功能,这样可以以更简单的方式实现相同的结果。


嗨,布赖恩,但这仍将保留PDF作为LiveCycle PDF。我不想要LiveCycle PDF,即我不想要基于XML的PDF。我希望用户能够将文档转换为普通静态PDF。 - ElevatedLyf
正如我所说,这在Reader或我所知道的任何免费产品中都是不可能的。为什么这很重要呢? - Brian Duddy
嘿布莱恩,这很重要,因为我们正在尝试将Livecycle PDF集成到两个不同的应用程序中,而这些应用程序无法读取这些PDF文件,它们只能读取静态的PDF文件。 - ElevatedLyf

0

为了能够保存填写后的Livecycle PDF,我尝试进行了以下操作。在Acrobat DC中,我使用了“另存为其他格式>扩展阅读器PDF”的功能。生成的表单虽然不能作为表单进行编辑,但是表单和内容可以被阅读器保存。


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