2

OpenOfficeなどのオープンソースを使って入力可能なPDFを作成したい。Open Officeを使用して、入力可能なPDFを作成しましたが、FoxitReaderで正常に動作します。保存することもできます。ここで問題となるのは、PDFに画像があり、他のフィールドと同様に入力可能である必要があることです。ユーザーは自分の画像を画像ボックスに入れて保存できる必要があります。

後で、iTextSharpを使用してPDFを読み取り、フィールドの値を取得してデータベースに保存します。画像以外はすべて正常に動作します。Open Officeで画像ボックスを作成しようとしましたが、PDFリーダーで開くと画像を変更できません。さらに、iTextSharpを使用して画像を読み取り、画像ボックスに表示して、ユーザーがすべてのデータを保存できるようにするにはどうすればよいですか。将来のデータベース?

これを試してみましたが、null値が表示されています

string pdfTemplate = @"c:\Temp\PDF\Untitled 1.pdf";


            var reader = new PdfReader(pdfTemplate);
            var output = new MemoryStream();
            var stamper = new PdfStamper(reader, output);
            //textBox2.Text = stamper.AcroFields.GetField("f1_09(0)");

            Bitmap bimg = new Bitmap(stamper.AcroFields.GetField("ImageControl"));
            System.Drawing.Image tempimg = bimg;

            pictureBox1.Image = tempimg;

            stamper.FormFlattening = true;
            stamper.Close();
            reader.Close();
4

1 に答える 1

1

「画像を入力可能なフォームに入れる」ことはできません。PDF仕様は、画像ではなく、入力可能なテキストのみをサポートします。

PDF-1.7ISO仕様に従って利用可能なインタラクティブなAcroForm要素の一般的なタイプのリストを次に示します。

  • ボタンフィールドは、ユーザーがマウスで操作できる画面上のインタラクティブなコントロールを表します。これらには、プッシュボタン、チェックボックス、およびラジオボタンが含まれます。
  • テキストフィールドは、ユーザーがキーボードからテキストを入力できるボックスまたはスペースです。
  • 選択フィールドにはいくつかのテキスト項目が含まれ、そのうちの1つをフィールド値として選択できます。スクロール可能なリストボックスとコンボボックスが含まれます。
  • 署名フィールドは、署名者の名前とドキュメントの内容を認証するためのデジタル署名とオプションのデータを表します。

ご覧のとおり、このリストには画像がありません...

于 2012-05-19T17:00:08.567 に答える