VintaSoft Imaging .NET SDK 12.4: Documentation for .NET developer
Vintasoft.Imaging.Pdf.Tree.InteractiveForms Namespace / PdfInteractiveFormCheckBoxField Class
Members Object Syntax Remarks Example Hierarchy Requirements SeeAlso
In This Topic
    PdfInteractiveFormCheckBoxField Class
    In This Topic
    Provides information about interactive form field that defines check box.
    Object Model
    PdfFont PdfInteractiveFormFieldAdditionalActions PdfInteractiveFormField PdfWidgetAnnotation PdfInteractiveFormFieldList PdfDocument PdfIndirectReference PdfBasicObject PdfInteractiveFormCheckBoxField
    Syntax
    'Declaration
    
    Public Class PdfInteractiveFormCheckBoxField
       Inherits PdfInteractiveFormSwitchableButtonField
    
    
    public class PdfInteractiveFormCheckBoxField : PdfInteractiveFormSwitchableButtonField
    
    
    public __gc class PdfInteractiveFormCheckBoxField : public PdfInteractiveFormSwitchableButtonField*
    
    
    public ref class PdfInteractiveFormCheckBoxField : public PdfInteractiveFormSwitchableButtonField^
    
    
    Remarks

    A check box field represents one or more check boxes that toggle between two states, on and off, when manipulated by the user with the mouse or keyboard. Each state can have a separate appearance, which is defined by an appearance stream in the appearances of the field's widget annotation.
    The appearance for the off state is optional but, if present, must be stored in the appearance dictionary under the name "Off". The recommended (but not required) name for the on state is "Yes".
    To change value of the field, use property Value. To change default value of the field, use property DefaultValue.

    Example

    Here is an example that shows how to create a PDF document with the check box field:

    
    Class PdfInteractiveFormCheckBoxFieldExample
        ''' <summary>
        ''' Creates a PDF document with the check box fields.
        ''' </summary>
        ''' <param name="filename">The filename.</param>
        Public Shared Sub CreateDocumentWithCheckBoxField(filename As String)
            ' create PDF document
            Using document As New Vintasoft.Imaging.Pdf.PdfDocument()
                ' create interactive form in PDF document
                document.InteractiveForm = New Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfDocumentInteractiveForm(document)
    
                ' specify that the viewer application must construct appearance streams and
                ' appearance properties for all widget annotations
                document.InteractiveForm.NeedAppearances = True
    
                ' create an empty page
                Dim page As New Vintasoft.Imaging.Pdf.Tree.PdfPage(document, Vintasoft.Imaging.PaperSizeKind.A4)
                ' add page to the document
                document.Pages.Add(page)
    
                Dim fontSize As Single = 20
                Dim width As Single = fontSize * 3F / 2F
                Dim height As Single = width
                ' create a rectangle that defines check box position on PDF page
                Dim rect As New System.Drawing.RectangleF((page.Size.Width - width) / 2, ((page.Size.Height - height) / 3) * 2, width, height)
    
                ' create the first check box
                Dim checkBox1 As New Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField(document, "CheckBox1", rect)
                ' create a rectangle that defines size of the check box content
                Dim contentRect As New System.Drawing.RectangleF(0, 0, rect.Width, rect.Height)
                ' get a reference to "ZapfDingbats" font
                Dim font As Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont = document.FontManager.GetStandardFont(Vintasoft.Imaging.Pdf.Tree.Fonts.PdfStandardFontType.ZapfDingbats)
                ' create "Yes" appearance of checkbox1
                Using g As Vintasoft.Imaging.Pdf.Drawing.PdfGraphics = checkBox1.CreateYesAppearanceGraphics()
                    g.DrawString("o", font, fontSize, New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Black), contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, _
                        False)
                    g.DrawString("4", font, fontSize, New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Green), contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, _
                        False)
                End Using
                ' create "Off" appearance of checkbox1
                Using g As Vintasoft.Imaging.Pdf.Drawing.PdfGraphics = checkBox1.CreateOffAppearanceGraphics()
                    g.DrawString("o", font, fontSize, New Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Black), contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, _
                        False)
                End Using
                ' set value of checkbox1
                checkBox1.Value = "Off"
    
                ' change the vertical position of rectangle that defines check box position on PDF page
                rect.Y -= rect.Height
    
                ' create the second check box
                Dim checkBox2 As New Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField(document, "CheckBox2", rect)
                ' use checkbox1 appearance as checkbox2 appearance
                checkBox2.Annotation.Appearances = checkBox1.Annotation.Appearances
                ' set value of checkBox2
                checkBox2.Value = "Yes"
    
                ' add the check box fields to the interactive form of document
                document.InteractiveForm.Fields.Add(checkBox1)
                document.InteractiveForm.Fields.Add(checkBox2)
    
                ' add annotations, associated with check box fields, to the page
                page.Annotations = New Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationList(document)
                page.Annotations.Add(checkBox1.Annotation)
                page.Annotations.Add(checkBox2.Annotation)
    
                ' save the document
                document.Save(filename)
            End Using
        End Sub
    End Class
    
    
    
    class PdfInteractiveFormCheckBoxFieldExample
    {
        /// <summary>
        /// Creates a PDF document with the check box fields.
        /// </summary>
        /// <param name="filename">The filename.</param>
        public static void CreateDocumentWithCheckBoxField(string filename)
        {
            // create PDF document
            using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument())
            {
                // create interactive form in PDF document
                document.InteractiveForm = 
                    new Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfDocumentInteractiveForm(document);
    
                // specify that the viewer application must construct appearance streams and
                // appearance properties for all widget annotations
                document.InteractiveForm.NeedAppearances = true;
    
                // create an empty page
                Vintasoft.Imaging.Pdf.Tree.PdfPage page = new Vintasoft.Imaging.Pdf.Tree.PdfPage(
                    document, Vintasoft.Imaging.PaperSizeKind.A4);
                // add page to the document
                document.Pages.Add(page);
    
                float fontSize = 20;
                float width = fontSize * 3f / 2f;
                float height = width;
                // create a rectangle that defines check box position on PDF page
                System.Drawing.RectangleF rect = new System.Drawing.RectangleF(
                    (page.Size.Width - width) / 2,
                    ((page.Size.Height - height) / 3) * 2,
                    width, height);
    
                // create the first check box
                Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField checkBox1 = 
                    new Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField(document, "CheckBox1", rect);
                // create a rectangle that defines size of the check box content
                System.Drawing.RectangleF contentRect = new System.Drawing.RectangleF(0, 0, rect.Width, rect.Height);
                // get a reference to "ZapfDingbats" font
                Vintasoft.Imaging.Pdf.Tree.Fonts.PdfFont font = document.FontManager.GetStandardFont(
                    Vintasoft.Imaging.Pdf.Tree.Fonts.PdfStandardFontType.ZapfDingbats);
                // create "Yes" appearance of checkbox1
                using (Vintasoft.Imaging.Pdf.Drawing.PdfGraphics g = checkBox1.CreateYesAppearanceGraphics())
                {
                    g.DrawString("o", font, fontSize, new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Black), 
                        contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, false);
                    g.DrawString("4", font, fontSize, new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Green), 
                        contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, false);
                }
                // create "Off" appearance of checkbox1
                using (Vintasoft.Imaging.Pdf.Drawing.PdfGraphics g = checkBox1.CreateOffAppearanceGraphics())
                {
                    g.DrawString("o", font, fontSize, new Vintasoft.Imaging.Pdf.Drawing.PdfBrush(System.Drawing.Color.Black), 
                        contentRect, Vintasoft.Imaging.Pdf.Drawing.PdfContentAlignment.Center, false);
                }
                // set value of checkbox1
                checkBox1.Value = "Off";
    
                // change the vertical position of rectangle that defines check box position on PDF page
                rect.Y -= rect.Height;
    
                // create the second check box
                Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField checkBox2 =
                    new Vintasoft.Imaging.Pdf.Tree.InteractiveForms.PdfInteractiveFormCheckBoxField(document, "CheckBox2", rect);
                // use checkbox1 appearance as checkbox2 appearance
                checkBox2.Annotation.Appearances = checkBox1.Annotation.Appearances;
                // set value of checkBox2
                checkBox2.Value = "Yes";
    
                // add the check box fields to the interactive form of document
                document.InteractiveForm.Fields.Add(checkBox1);
                document.InteractiveForm.Fields.Add(checkBox2);
    
                // add annotations, associated with check box fields, to the page
                page.Annotations = new Vintasoft.Imaging.Pdf.Tree.Annotations.PdfAnnotationList(document);
                page.Annotations.Add(checkBox1.Annotation);
                page.Annotations.Add(checkBox2.Annotation);
    
                // save the document
                document.Save(filename);
            }
        }
    }
    
    

    Inheritance Hierarchy
    Requirements

    Target Platforms: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also