使用Open Office for Image进行可填写的PDF

时间:2012-05-19 10:35:02

标签: c# winforms pdf itextsharp openoffice.org

我想使用Open Office或开源的东西创建可填写的PDF。使用Open Office我创建了可填写的PDF,它可以与福昕阅读器一起使用;我们也可以保存它。现在问题是我在PDF中有一个图像,它也应该是可填写的,就像其他字段一样。用户应该能够将他/她的图像放在图像框中并保存。

稍后我将使用iTextSharp读取PDF以检索字段的值并将其保存在数据库中。除了图像,一切都很好。我尝试使用Open Office创建图像框但是当我在PDF阅读器中打开它时,我无法更改图片,而且我将如何使用iTextSharp读取图像并将其显示在图片框中,以便用户可以保存所有数据未来的数据库?

我试过这个,但它显示空值

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();

1 个答案:

答案 0 :(得分:1)

无法将图像“放入可填写的形式”。 PDF规范仅支持可填写的文本,而不支持图像......

以下是根据PDF-1.7 ISO规范提供的交互式AcroForm元素的一般类型列表:

  • 按钮字段表示用户可以使用鼠标操作的屏幕上的交互式控件。它们包括按钮,复选框和单选按钮。
  • 文本字段是用户可以在键盘上输入文字的框或空格。
  • 选择字段包含多个文本项,其中最多可以选择其中一个作为字段值。它们包括可滚动的列表框和组合框。
  • 签名字段表示用于验证签名者姓名和文档内容的数字签名和可选数据。

如您所见,此列表中没有图片......