Example #1
0
        private static void CreateFields(RadFixedDocument document)
        {
            CheckBoxField check = new CheckBoxField("checkBox");

            document.AcroForm.FormFields.Add(check);
            check.IsChecked = true;

            ComboBoxField combo = new ComboBoxField("combo");

            document.AcroForm.FormFields.Add(combo);
            combo.Options.Add(new ChoiceOption("Combo choice 1"));
            combo.Options.Add(new ChoiceOption("Combo choice 2"));
            combo.Options.Add(new ChoiceOption("Combo choice 3"));
            combo.Options.Add(new ChoiceOption("Combo choice 4"));
            combo.Options.Add(new ChoiceOption("Combo choice 5"));
            combo.Value = combo.Options[2];

            CombTextBoxField comb = new CombTextBoxField("comb");

            document.AcroForm.FormFields.Add(comb);
            comb.MaxLengthOfInputCharacters = 10;
            comb.Value = "0123456789";

            ListBoxField list = new ListBoxField("list");

            document.AcroForm.FormFields.Add(list);
            list.AllowMultiSelection = true;
            list.Options.Add(new ChoiceOption("List choice 1"));
            list.Options.Add(new ChoiceOption("List choice 2"));
            list.Options.Add(new ChoiceOption("List choice 3"));
            list.Options.Add(new ChoiceOption("List choice 4"));
            list.Options.Add(new ChoiceOption("List choice 5"));
            list.Options.Add(new ChoiceOption("List choice 6"));
            list.Options.Add(new ChoiceOption("List choice 7"));
            list.Value = new ChoiceOption[] { list.Options[0], list.Options[2] };

            PushButtonField push = new PushButtonField("push");

            document.AcroForm.FormFields.Add(push);

            RadioButtonField radio = new RadioButtonField("radio");

            document.AcroForm.FormFields.Add(radio);
            radio.Options.Add(new RadioOption("Radio option 1"));
            radio.Options.Add(new RadioOption("Radio option 2"));
            radio.Value = radio.Options[1];

            SignatureField signature = new SignatureField("signiture");

            document.AcroForm.FormFields.Add(signature);

            TextBoxField textBox = new TextBoxField("textBox");

            document.AcroForm.FormFields.Add(textBox);
            textBox.Value = "Sample text...";
        }
Example #2
0
        public void PutListBoxFieldTest()
        {
            const string name = "PdfWithAcroForm.pdf";

            UploadFile(name, name);
            var listBox = new ListBoxField(PageIndex: 1)
            {
                SelectedItems = new List <int?> {
                    1, 4
                },
                MultiSelect = true,
                Color       = new Color(255, 255, 0, 0),
                Rect        = new Rectangle(100, 100, 180, 180),
                PartialName = "testField",
                Margin      = new MarginInfo {
                    Bottom = 0, Left = 0, Right = 0, Top = 0
                },
                Options = new List <Option>
                {
                    new Option
                    {
                        Name  = "one",
                        Value = "one",
                    },
                    new Option
                    {
                        Name  = "two",
                        Value = "two",
                    },
                    new Option
                    {
                        Name  = "three",
                        Value = "three",
                    },
                    new Option
                    {
                        Name  = "four",
                        Value = "four",
                    },
                }
            };


            var response = PdfApi.PutListBoxField(name, fieldName: "listboxField", listBox, folder: TempFolder);

            Assert.That(response.Code, Is.EqualTo(200));
        }
        private static void ModifyListBox(ListBoxField listField, IEnumerable <string> options, int selectedIndex)
        {
            listField.Options.Clear();
            int index = 0;

            foreach (string text in options)
            {
                ChoiceOption option = new ChoiceOption(text);
                listField.Options.Add(option);

                if (index == selectedIndex)
                {
                    listField.Value = new ChoiceOption[] { option };
                }

                index++;
            }
        }
Example #4
0
        private static void DrawPageWithWidgets(RadFixedDocument document)
        {
            RadFixedPage page = document.Pages.AddPage();

            FixedContentEditor editor = new FixedContentEditor(page);

            using (editor.SaveGraphicProperties())
            {
                editor.GraphicProperties.IsFilled        = true;
                editor.GraphicProperties.IsStroked       = false;
                editor.GraphicProperties.StrokeThickness = 0;
                editor.GraphicProperties.FillColor       = new RgbColor(209, 178, 234);
                editor.DrawRectangle(new Rect(50, 50, editor.Root.Size.Width - 100, editor.Root.Size.Height - 100));
            }

            editor.Position.Translate(100, 100);
            Size widgetDimensions = new Size(200, 30);

            foreach (FormField field in document.AcroForm.FormFields)
            {
                switch (field.FieldType)
                {
                case FormFieldType.CheckBox:
                    CheckBoxField check = (CheckBoxField)field;
                    DrawNextWidgetWithDescription(editor, "CheckBox", (e) => e.DrawWidget(check, widgetDimensions));
                    break;

                case FormFieldType.ComboBox:
                    ComboBoxField combo = (ComboBoxField)field;
                    DrawNextWidgetWithDescription(editor, "ComboBox", (e) => e.DrawWidget(combo, widgetDimensions));
                    break;

                case FormFieldType.CombTextBox:
                    CombTextBoxField comb = (CombTextBoxField)field;
                    DrawNextWidgetWithDescription(editor, "Comb TextBox", (e) => e.DrawWidget(comb, widgetDimensions));
                    break;

                case FormFieldType.ListBox:
                    ListBoxField list = (ListBoxField)field;
                    DrawNextWidgetWithDescription(editor, "ListBox", (e) => e.DrawWidget(list, new Size(widgetDimensions.Width, widgetDimensions.Width)));
                    break;

                case FormFieldType.PushButton:
                    PushButtonField push = (PushButtonField)field;
                    DrawNextWidgetWithDescription(editor, "Button", (e) => e.DrawWidget(push, widgetDimensions));
                    break;

                case FormFieldType.RadioButton:
                    RadioButtonField radio = (RadioButtonField)field;
                    foreach (RadioOption option in radio.Options)
                    {
                        DrawNextWidgetWithDescription(editor, option.Value, (e) => e.DrawWidget(radio, option, widgetDimensions));
                    }
                    break;

                case FormFieldType.Signature:
                    SignatureField signature = (SignatureField)field;
                    DrawNextWidgetWithDescription(editor, "Signature", (e) => e.DrawWidget(signature, widgetDimensions));
                    break;

                case FormFieldType.TextBox:
                    TextBoxField textBox = (TextBoxField)field;
                    DrawNextWidgetWithDescription(editor, "TextBox", (e) => e.DrawWidget(textBox, widgetDimensions));
                    break;
                }
            }
        }
Example #5
0
        public void CreatePDF(Stream stream)
        {
            var        doc  = new GcPdfDocument();
            var        page = doc.NewPage();
            var        g    = page.Graphics;
            TextFormat tf   = new TextFormat();

            tf.Font     = StandardFonts.Times;
            tf.FontSize = 14;
            PointF ip        = new PointF(72, 72);
            float  fldOffset = 72 * 2;
            float  fldHeight = tf.FontSize * 1.2f;
            float  dY        = 32;

            // Text field:
            g.DrawString("Text field:", tf, ip);
            var fldText = new TextField();

            fldText.Value                      = "Initial TextField value";
            fldText.Widget.Page                = page;
            fldText.Widget.Rect                = new RectangleF(ip.X + fldOffset, ip.Y, 72 * 3, fldHeight);
            fldText.Widget.TextFormat.Font     = tf.Font;
            fldText.Widget.TextFormat.FontSize = tf.FontSize;
            doc.AcroForm.Fields.Add(fldText);
            ip.Y += dY;

            // Checkbox:
            g.DrawString("Checkbox:", tf, ip);
            var fldCheckbox = new CheckBoxField();

            fldCheckbox.Value       = true;
            fldCheckbox.Widget.Page = page;
            fldCheckbox.Widget.Rect = new RectangleF(ip.X + fldOffset, ip.Y, fldHeight, fldHeight);
            doc.AcroForm.Fields.Add(fldCheckbox);
            ip.Y += dY;

            // Radio button:
            g.DrawString("Radio button:", tf, ip);
            var fldRadio = new RadioButtonField();

            fldRadio.Value = 1;
            fldRadio.Widgets.Add(new WidgetAnnotation(page, new RectangleF(ip.X + fldOffset, ip.Y, fldHeight, fldHeight)));
            fldRadio.Widgets.Add(new WidgetAnnotation(page, new RectangleF(ip.X + fldOffset, ip.Y + fldHeight * 1.2f, fldHeight, fldHeight)));
            fldRadio.Widgets.Add(new WidgetAnnotation(page, new RectangleF(ip.X + fldOffset, ip.Y + (fldHeight * 1.2f) * 2, fldHeight, fldHeight)));
            doc.AcroForm.Fields.Add(fldRadio);
            ip.Y = fldRadio.Widgets[fldRadio.Widgets.Count - 1].Rect.Y + dY;

            // CombTextField:
            g.DrawString("CombText field:", tf, ip);
            var fldCombText = new CombTextField();

            fldCombText.Value = "123";
            fldCombText.Widget.TextFormat.FontSize = 12;
            fldCombText.Widget.Rect = new RectangleF(ip.X + fldOffset, ip.Y, 72 * 3, fldHeight);
            fldCombText.Widget.Page = page;
            doc.AcroForm.Fields.Add(fldCombText);
            ip.Y += dY;

            // Combo-box:
            g.DrawString("Combo box:", tf, ip);
            var fldComboBox = new ComboBoxField();

            fldComboBox.Items.Add(new ChoiceFieldItem("ComboBox Choice 1"));
            fldComboBox.Items.Add(new ChoiceFieldItem("ComboBox Choice 2"));
            fldComboBox.Items.Add(new ChoiceFieldItem("ComboBox Choice 3"));
            fldComboBox.SelectedIndex = 1;
            fldComboBox.Widget.Rect   = new RectangleF(ip.X + fldOffset, ip.Y, 72 * 3, fldHeight);
            fldComboBox.Widget.Page   = page;
            doc.AcroForm.Fields.Add(fldComboBox);
            ip.Y += dY;

            // List box:
            g.DrawString("List box:", tf, ip);
            ListBoxField fldListBox = new ListBoxField();

            fldListBox.Items.Add(new ChoiceFieldItem("ListBox Choice 1"));
            fldListBox.Items.Add(new ChoiceFieldItem("ListBox Choice 2"));
            fldListBox.Items.Add(new ChoiceFieldItem("ListBox Choice 3"));
            fldListBox.SelectedIndexes   = new int[] { 0, 2 };
            fldListBox.MultiSelect       = true;
            fldListBox.CommitOnSelChange = true;
            fldListBox.Widget.Rect       = new RectangleF(ip.X + fldOffset, ip.Y, 100, 50);
            fldListBox.Widget.Page       = page;
            doc.AcroForm.Fields.Add(fldListBox);
            ip.Y = fldListBox.Widget.Rect.Bottom - fldHeight + dY;

            // Signature field:
            g.DrawString("Signature field:", tf, ip);
            var fldSignature = new SignatureField();

            fldSignature.AlternateName = "All fields locked when the document is signed";
            fldSignature.LockedFields  = new SignatureLockedFields();
            fldSignature.Widget.Rect   = new RectangleF(ip.X + fldOffset, ip.Y, 72 * 2, 72 - dY);
            fldSignature.Widget.TextFormat.FontSize      = 8;
            fldSignature.Widget.ButtonAppearance.Caption = "Click to sign";
            fldSignature.Widget.Border = new Border()
            {
                Width = 0.5f, Color = Color.DarkSeaGreen
            };
            fldSignature.Widget.Page = page;
            doc.AcroForm.Fields.Add(fldSignature);
            ip.Y += 72 - fldHeight;

            // Buttons:
            g.DrawString("Push buttons:", tf, ip);

            // Submit form button:
            var btnSubmit = new PushButtonField();

            btnSubmit.Widget.Rect = new RectangleF(ip.X + fldOffset, ip.Y, 72, fldHeight);
            btnSubmit.Widget.ButtonAppearance.Caption = "Submit";
            btnSubmit.Widget.Highlighting             = HighlightingMode.Invert;
            btnSubmit.Widget.Events.Activate          = new ActionSubmitForm("Sample Form Submit URI");
            btnSubmit.Widget.Page = page;
            doc.AcroForm.Fields.Add(btnSubmit);
            // ip.Y += dY;

            // Reset form button:
            var btnReset = new PushButtonField();

            btnReset.Widget.Rect = new RectangleF(ip.X + fldOffset + 72 * 1.5f, ip.Y, 72, fldHeight);
            btnReset.Widget.ButtonAppearance.Caption = "Reset";
            btnReset.Widget.Highlighting             = HighlightingMode.Invert;
            btnReset.Widget.Events.Activate          = new ActionResetForm();
            btnReset.Widget.Page = page;
            doc.AcroForm.Fields.Add(btnReset);
            ip.Y += dY;

            // Done:
            doc.Save(stream);
        }
Example #6
0
        public static void CreateFormField()
        {
            PdfDocument        document = new PdfDocument();
            PdfPage            page     = document.Pages.AddPage();
            PageContentBuilder builder  = new PageContentBuilder(page);

            double padding   = 10;
            double topOffset = 100;

            //Create CheckBox FormField
            CheckBoxField check = new CheckBoxField("checkBox1");

            check.IsChecked = true;
            //Add CheckBox to document fields
            document.AcroForm.FormFields.Add(check);
            //Draw CheckBox to page
            builder.Position.Translate(50, topOffset);
            builder.DrawWidget(check, new Size(10, 10));
            //Draw CheckBox description
            builder.Position.Translate(50 + 10 + padding, topOffset);
            builder.DrawText("CheckBox");

            //Create ComboBox FormField
            ComboBoxField combo = new ComboBoxField("comboBox1");

            combo.TextState.FontSize = 16;
            combo.Options.Add(new ChoiceOption("Combo 1"));
            combo.Options.Add(new ChoiceOption("Combo 2"));
            combo.Options.Add(new ChoiceOption("Combo 3"));
            combo.Value = combo.Options[2];
            //Add ComboBox to document fields
            document.AcroForm.FormFields.Add(combo);
            //Draw ComboBox to page
            topOffset += 30;
            builder.Position.Translate(50, topOffset);
            builder.DrawWidget(combo, new Size(100, 30));
            //Draw ComboBox description
            builder.Position.Translate(50 + 100 + padding, topOffset);
            builder.DrawText("ComboBox");

            //Create ListBox FormField
            ListBoxField list = new ListBoxField("listBox1");

            list.AllowMultiSelection = true;
            list.TextState.FontSize  = 16;
            list.Options.Add(new ChoiceOption("List 1"));
            list.Options.Add(new ChoiceOption("List 2"));
            list.Options.Add(new ChoiceOption("List 3"));
            list.Value = new ChoiceOption[] { list.Options[0], list.Options[2] };
            //Add ListBox to document fields
            document.AcroForm.FormFields.Add(list);
            //Draw ListBox to page
            topOffset += 30;
            builder.Position.Translate(50, topOffset);
            builder.DrawWidget(list, new Size(100, 100));
            //Draw ListBox description
            builder.Position.Translate(50 + 100 + padding, topOffset);
            builder.DrawText("ListBox");

            //Create RadioButton FormField
            RadioButtonField radio = new RadioButtonField("radioButton1");

            radio.Options.Add(new RadioOption("Radio 1"));
            radio.Options.Add(new RadioOption("Radio 2"));
            radio.Value = radio.Options[1];
            //Add RadioButton to document fields
            document.AcroForm.FormFields.Add(radio);
            //Draw RadioButton to page
            topOffset += 100;
            foreach (RadioOption option in radio.Options)
            {
                topOffset += 30;
                builder.Position.Translate(50, topOffset);
                builder.DrawWidget(radio, option, new Size(10, 10));
            }
            //Draw ListBox description
            builder.Position.Translate(50 + 10 + padding, topOffset);
            builder.DrawText("RadioButton");

            //Create TextBox FormField
            TextBoxField textBox = new TextBoxField("textBox1");

            textBox.TextState.FontSize = 16;
            textBox.Value = "Input...";
            //Add TextBox to document fields
            document.AcroForm.FormFields.Add(textBox);
            //Draw TextBox to page
            topOffset += 30;
            builder.Position.Translate(50, topOffset);
            builder.DrawWidget(textBox, new Size(100, 30));
            //Draw TextBox description
            builder.Position.Translate(50 + 100 + padding, topOffset);
            builder.DrawText("TextBox");

            using (FileStream fs = File.OpenWrite("CreateFormField.pdf"))
            {
                PdfFile pdfFile = new PdfFile();
                pdfFile.Export(document, fs);
            }
        }