using System;
using System.Collections.Generic;
using System.IO;
using iText.Forms;
using iText.Forms.Fields;
using iText.IO.Font.Constants;
using iText.Kernel.Colors;
using iText.Kernel.Font;
using iText.Kernel.Pdf;
namespace Tutorial.Chapter05 {
/// Simple filling out form example.
public class C05E02_FillAndModifyForm {
public const String SRC = "../../../resources/pdf/job_application.pdf";
public const String DEST = "../../../results/chapter05/filled_out_job_application.pdf";
public static void Main(String[] args) {
FileInfo file = new FileInfo(DEST);
file.Directory.Create();
new C05E02_FillAndModifyForm().ManipulatePdf(SRC, DEST);
}
public virtual void ManipulatePdf(String src, String dest) {
//Initialize PDF document
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfFormCreator.GetAcroForm(pdfDoc, true);
IDictionary fields = form.GetAllFormFields();
fields["name"].SetValue("James Bond").GetFirstFormAnnotation().SetBackgroundColor(ColorConstants.ORANGE);
fields["language"].SetValue("English");
fields["experience1"].SetValue("Yes");
fields["experience2"].SetValue("Yes");
fields["experience3"].SetValue("Yes");
IList options = new List();
options.Add(new PdfString("Any"));
options.Add(new PdfString("8.30 am - 12.30 pm"));
options.Add(new PdfString("12.30 pm - 4.30 pm"));
options.Add(new PdfString("4.30 pm - 8.30 pm"));
options.Add(new PdfString("8.30 pm - 12.30 am"));
options.Add(new PdfString("12.30 am - 4.30 am"));
options.Add(new PdfString("4.30 am - 8.30 am"));
PdfArray arr = new PdfArray(options);
fields["shift"].SetOptions(arr);
fields["shift"].SetValue("Any");
PdfFont courier = PdfFontFactory.CreateFont(StandardFonts.COURIER);
fields["info"].SetValue("I was 38 years old when I became an MI6 agent.", courier, 7f);
pdfDoc.Close();
}
}
}