PDF-форма с iTextSharp - PullRequest
       19

PDF-форма с iTextSharp

4 голосов
/ 26 мая 2011

Как я могу создать заполняемый файл PDF в iTextSharp.На данный момент я могу создать PDF-файл с текстом в нем, однако я изо всех сил пытаюсь создать заполняемые поля.Любая помощь или образец кода будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Сделать 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());        
    }
}
1 голос
/ 26 мая 2011

Попробуйте это:

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