【问题标题】:Partially filling PDF forms, keeping them editable部分填写 PDF 表单,使其可编辑
【发布时间】:2012-07-30 07:26:18
【问题描述】:

我们想向我的用户展示一个可编辑的 PDF(表单),其中我们已经填写了一些字段。然后,用户应通过浏览器使用 Adob​​e Reader 填写其余字段,然后保存/打印文件。

有没有办法做到这一点?

我尝试过使用 iTextSharp,它可以让我很好地将数据填充到字段中,但之后文件被“展平”,无法进一步编辑。

我发现了一个先前的问题 [Keep a pdf form editable after filling it with pdftk],据说这是不可能的。不过看了[Placing current date into a text field of a PDF form using JavaScript]后,感觉使用Adobe JavaScript API 或许可以实现。

有人有这方面的经验吗?

顺便说一句,我们的用户将使用 Internet Explorer 9+。

【问题讨论】:

标签: .net pdf itextsharp


【解决方案1】:

我确定您已经尝试过,但请尝试调出您的压模对象,并将 Form flattening 属性设置为 false。原谅我的c#,但如果你甚至必须转换的话,转换应该不会太麻烦。

PdfStamper stamper = new PdfStamper(reader, new FileStream(fileName, 
FileMode.Create, FileAccess.ReadWrite));

stamper.FormFlattening = false;

如果您已经这样做了,我不知道该告诉您什么,因为我没有足够的信息来确定任何替代方案。如果没有在代码中明确引用,我不完全确定默认表单展平属性设置为什么。让我知道这是否适合您。

干杯

【讨论】:

  • OP 说“(...)通过浏览器使用 Adob​​e Reader(...)”所以这个解决方案 will not work.
  • 我尝试过使用FormFlatening = false,但是,它不起作用。我认为对文件的修改会以某种方式破坏文档的“数字签名”,这是 Adob​​e Reader 显示可编辑字段所必需的。
  • @MikeVarosky 更正:我们实际上得到了 stamper.FormFlatening = false 的工作。一开始我不知道出了什么问题,但现在我们有了一个工作 PDF 表单编辑器 :D.
猜你喜欢
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 2012-10-01
  • 2022-06-29
  • 2015-03-13
  • 1970-01-01
相关资源
最近更新 更多