带有iTextSharp的PDF表格

时间:2011-05-26 13:49:36

标签: c# .net pdf-generation itextsharp pdf-form

如何在iTextSharp中创建可填写的PDF文件。到目前为止,我可以创建一个包含文本的pdf文件,但是我正在努力创建可填写的字段。任何帮助或示例代码将不胜感激。

2 个答案:

答案 0 :(得分:2)

使用iTextsharp进行编码比使用 Adob​​e LiveCycle Designer 等第三方软件制作pdf格式要容易得多。您只需根据需要在表单中放置一些文本框,复选框或单选按钮,设置其字体,字体大小和放大器。它的数据类型。

标记所有字段名称(如“TextField1”等)。创建一个新的网络表单,其中包含一些文本框,用于将数据提供给该字段。

然后,您可以使用以下代码轻松填写该表单:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

public partial class Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        var reader = new PdfReader(Server.MapPath("~/Emptyform.pdf"));
        var output = new MemoryStream();
        var stamper = new PdfStamper(reader, output);
        stamper.AcroFields.SetField("TextField1", TextBox1.text);
        stamper.FormFlattening = true;
        stamper.Close();
        reader.Close();
        File.WriteAllBytes(Server.MapPath("~/Filledform.pdf"),output.ToArray());        
    }
}

答案 1 :(得分:1)

试试这个:

AcroFields fields = pdf.AcroFields;
fields.SetField("field_1", "1");
fields.SetField("field_2", "2");