天天看點

form_checkbox: Example code of Early Access iText

using System;

using iTextSharp.text;

using iTextSharp.text.pdf;

using System.IO;

public class form_checkbox

{

    [STAThread]

    public static void  Main(string[] args)

    {

        Document document = new Document(PageSize.A4, 50, 50, 50, 50);

        try

        {

            // creation of the different writers

            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"e:\java\form_checkbox.Pdf", FileMode.Create));

            document.Open();

            PdfContentByte cb = writer.DirectContent;

            cb.MoveTo(0, 0);

            PdfFormField field = PdfFormField.CreateCheckBox(writer);

            PdfAppearance tpOff = cb.CreateAppearance(20, 20);

            PdfAppearance tpOn = cb.CreateAppearance(20, 20);

            tpOff.Rectangle(1, 1, 18, 18);

            tpOff.Stroke();

            tpOn.SetRGBColorFill(255, 128, 128);

            tpOn.Rectangle(1, 1, 18, 18);

            tpOn.FillStroke();

            tpOn.MoveTo(1, 1);

            tpOn.LineTo(19, 19);

            tpOn.MoveTo(1, 19);

            tpOn.LineTo(19, 1);

            tpOn.Stroke();

            field.SetWidget(new Rectangle(100, 700, 120, 720), PdfAnnotation.HIGHLIGHT_INVERT);

            field.FieldName=("Urgent");

            field.ValueAsName=("Off");

            field.AppearanceState=("Off");

            field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpOff);

            field.SetAppearance(PdfAnnotation.APPEARANCE_NORMAL, "On", tpOn);

            writer.AddAnnotation(field);

            document.Close();

            System.Console.Out.WriteLine("FIM.");

        }

        catch (System.Exception de)

            System.Console.Error.WriteLine(de.Message);

    }

}