0

編集:以下のテストファイルへのリンク。

プロジェクトの一環として、LiveCycle Designer 11.0 で動的 PDF フォームを作成しました。これらのフォームは、開発者に転送される前に、Acrobat でリーダー対応に設定されています。次に、iTextSharp 5.5.6 を使用して PDF に入力します。

このフォームには、非表示フィールド、動的サブフォームなどを含む多くの動的プロパティがあります。

生成されたフォームを Adob​​e Reader 11.0.12 (私のバージョンですが、他のバージョンは影響を受けます) で開くと、フォームは a) 読み取り専用であり、b) 動的フィールドを表示する基準が満たされていても、すべての動的フィールドが表示されません。それらはデータで満たされています。いくつか示されています。

Adobe Acrobat 11.0.9 で開くと、フォームは期待どおりにレンダリングされます。セクションとフィールドは、フォームのロジックに従って表示/非表示になります。フォームは入力可能でもあり、読み取り専用またはフラット化されていません。

Acrobat と Reader のフォームのセキュリティ設定を比較すると、Acrobat の「フォーム フィールドへの入力」設定は「許可」に設定されていますが、Reader のセキュリティ設定では「許可されていません」に設定されています。

以下を含む zip へのリンクを次に示します。1) iTextSharp で生成された動的 PDF 2) フォーム用に自動生成されたクラス ファイル 3) データ マッピング Program.cs ファイル

問題を示すテスト ファイルへのリンク

ファイルを Acrobat で開くと、期待どおりに機能します。Reader で開くと読み取り専用になり、SignatureA と SignatureB の両方が表示されますが、Signature Test セクションで選択されたラジオボタンに基づいて 1 つだけが表示されます。

コードベースにアクセスできないため、自分でアプリケーションをテストできません。この問題を引き起こしている可能性のある iTextSharp の設定はありますか?

ご協力いただきありがとうございます。

4

1 に答える 1

4

PDF は増分更新によって更新されないため、「リーダー対応」機能が破壊されます (完全な書き換えによりデジタル署名が無効になります)。

追加モードで PdfStamper インスタンスを作成する必要があります。

iTextSharp.text.pdf.PdfStamper stamper = new iTextSharp.text.pdf.PdfStamper(reader, ms, '\0', true);
于 2015-09-15T08:53:57.207 に答える