【问题标题】:XFA forms PDF is modified using itextsharp and resulting PDF Gives Extended feature errorXFA 表单 PDF 使用 itextsharp 修改,结果 PDF Gives Extended feature 错误
【发布时间】:2013-04-22 19:06:09
【问题描述】:

我正在尝试通过修改包含 2D 条形码的 XFA Forms PDF 以编程方式设置字段值。我在使用常规 Adob​​e Reader 打开结果 PDF 时遇到麻烦。这是一个错误“此文档在 adobe reader 中启用了扩展功能。该文档自创建以来已更改,扩展功能的使用不再可用。请联系该文档原始版本的作者”(注:-文件打开Adobe acrobat 很好)

以下是执行此操作的示例 c# 代码。

var reader = new PdfReader(@"c:\abc.pdf");

// System.IO.FileStream fs = new FileStream(reader, System.IO.FileMode.CreateNew, FileAccess.ReadWrite);

var output = new MemoryStream();
var stamper = new PdfStamper(reader, output, '\0', true);

stamper.ViewerPreferences = PdfWriter.AllowModifyContents;

stamper.AcroFields.SetField("form1[0].#subform[0].Line1a_FamilyName[0]", "Family Name");

stamper.FormFlattening = false;

stamper.Close();
reader.Close();

Response.AddHeader("Content-Disposition", "attachment; filename=YourPDF.pdf");
Response.ContentType = "application/pdf";

Response.BinaryWrite(output.ToArray());
Response.End();

【问题讨论】:

    标签: itextsharp


    【解决方案1】:

    见 iText 的作者this post

    由 Bruno Lowagie 于 2010 年 12 月 31 日星期五 - 16:37 提交

    填写表格后,我的 PDF 显示以下消息:此文档启​​用了 Adob​​e Reader 中的扩展功能。该文档自创建以来已更改,并且不再使用扩展功能。请联系作者获取本文档的原始版本。如何避免此消息?

    表单的创建者启用了文档阅读器。阅读器启用只能使用 Adob​​e 软件完成。您可以通过两种方式避免此消息:

    1. 删除使用权。这将导致不再启用 Reader 的表单。例如:如果文档的创建者允许将填写的表格保存在本地,则在删除使用权限后将不再可能。
    2. 以追加方式填写表格。这将导致更大的文件大小,但将保留阅读器启用。 有关更多信息,请阅读 iText in Action 的第 8.7.1 节。

    【讨论】:

    • 感谢 Chris 的快速回复。是的,我仅以附加模式填写表格,并且 (reader.RemoveUsageRights()) 肯定有助于解决错误,但在我的情况下,二维条码变得无法使用。在我填写任何内容后PDF中的表单字段,条形码变成灰色图像。知道为什么吗?
    • 您可以使用 adobe livecycle server es4 来获取条码阅读器扩展
    猜你喜欢
    • 2015-01-19
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2011-08-22
    • 1970-01-01
    • 2014-08-21
    相关资源
    最近更新 更多