iTextSharp 从另一个创建 PDF 并添加表单数据

iTextSharp create PDF from another and add form data

我使用 ITextSharp 创建一个包含基于另一个 PDF 的表单数据的 PDF。 问题是生成的文件不可编辑(上面的表格)。

如果我在追加模式下使用 ITextSharp,我可以编辑表单,但不会保留大部分表单数据。我希望用户看到保留了 PDF 表单数据的结果 PDF。

我知道我无能为力。用户编辑生成的 PDF 的唯一方法是在其上使用付费的 Acrobat 版本。这是因为我通过输入表单数据并在其上设置字体来更改 PDF 文件。 有什么我可以做的吗?

保罗

简答:否

Pdf 文件可能是安全的(只读),这就是每个人都在使用它的原因。大多数时候,我们将文件转换为 pdf,因此如果您可以获得 'file' 而不是 pdf 将是一个很好的选择。

根据我过去的经验,我可以向您确认 iTextSharp 可能无法正确转换您的所有数据,这会使您生成的文件无法使用。如果不是,您可能会有一些奇怪的行或文档行为发生一些变化(例如字段不再可编辑)。

如果你真的想使用 pdf 文件作为输入并使用它来做你的事情,你将需要了解它的内部结构:

[PDF文件格式] http://resources.infosecinstitute.com/pdf-file-format-basic-structure/

这真是一段旅程。您可能需要重新考虑使用 pdf 作为输入。如果你不能改变它,你可能需要使用某种 adobe 插件来做到这一点。许多第三方 pdf 库正在这样做。

祝你好运

你的问题不是很清楚,但这里有一些以前问过的类似问题的答案:

  • 最终用户无法在本地编辑表单,除非表单是 "reader-enabled"。仅当您使用 Adob​​e 软件时才能启用表单 reader:"Adding Enable for commenting Adobe Reader" using Acrobat
  • 如果您不想破坏 reader-启用,您需要在追加模式下填写启用 reader 的表单:Pdf with Acroform editing using iText
  • 这并不意味着您不能要求人们填写 PDF 表单来收集数据。看
  • 如果您想将此表单(包括数据)提供给最终用户,您可以捕获该数据并填写表单而无需展平:How to fill out a pdf file programmatically?

我很确定其中一个问题与您的问题重复,但由于您的问题不清楚,因此很难将您的问题标记为其中一个问题的完全重复。