2

2D バーコードを含む XFA Forms PDF を変更して、プログラムでフィールド値を設定しようとしています。通常の Adob​​e Reader で結果の PDF を開くことができません。「このドキュメントはアドビ リーダーで拡張機能を有効にしました。ドキュメントは作成されてから変更されており、拡張機能は使用できなくなりました。このドキュメントの元のバージョンの作成者に連絡してください」(注:-ファイルが開きます) 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();
4

1 に答える 1

0

iText の作成者によるこの投稿を参照してください。

2010 年 12 月 31 日 (金) - 16:37 に Bruno Lowagie によって提出され

たフォームに入力した後、PDF に次のメッセージが表示されます: このドキュメントは、Adobe Reader の拡張機能を有効にしました。ドキュメントは作成後に変更されたため、拡張機能は使用できなくなりました。このドキュメントの元のバージョンについては、作成者にお問い合わせください。このメッセージを回避するにはどうすればよいですか?

フォームの作成者がドキュメント リーダーを有効にしました。Reader の有効化は、Adobe ソフトウェアを使用してのみ行うことができます。このメッセージは、次の 2 つの方法で回避できます。

1. 使用権を削除します。これにより、フォームが Reader 対応ではなくなります。たとえば、ドキュメントの作成者が記入済みのフォームをローカルに保存することを許可した場合、使用権を削除すると、これはできなくなります。
2. 追加モードでフォームに入力します。これにより、ファイル サイズが大きくなりますが、Reader の有効化は保持されます。詳細については、iText in Action のセクション 8.7.1 を参照してください。

于 2013-04-22T19:35:21.133 に答える