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..."; }
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++; } }
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; } } }
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); }
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); } }