2011-05-26 109 views
4

如何在iTextSharp中创建可填写的PDF文件。截至目前,我可以创建一个包含文本的PDF文件,但是我在创建可填充字段方面很挣扎。任何帮助或示例代码将不胜感激。使用iTextSharp的PDF表格

回答

1

试试这个:

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

它更容易使PDF格式的第三方软件一样的Adobe LiveCycle Designer中比iTextSharp的编码。你只需要根据需要在窗体中放置一些文本框,复选框或单选按钮,设置其字体,字体大小&的数据类型。

记下所有字段名称(如“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());   
    } 
}