首页 文章

带有iTextSharp的PDF表格

提问于
浏览
4

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

2 回答

  • 1

    从像 Adobe LiveCycle Designer 这样的第三方软件制作pdf表格要比用iTextsharp编码更容易 . 您只需根据需要在表单中放置一些文本框,复选框或单选按钮,设置其字体,字体大小及其数据类型 .

    标记所有字段名称(如“TextField1”等) . 创建一个新的webform,其中包含一些文本框,这些文本框将数据提供给该字段 .

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

    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());        
        }
    }
    
  • 2

    试试这个:

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

相关问题