public static void Run() { try { // ExStart:RadioButton // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Instantiate Document object Document pdfDocument = new Document(); // Add a page to PDF file pdfDocument.Pages.Add(); // Instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // Add first radio button option and also specify its origin using Rectangle object radio.AddOption("Test", new Rectangle(0, 0, 20, 20)); // Add second radio button option radio.AddOption("Test1", new Rectangle(20, 20, 40, 40)); // Add radio button to form object of Document object pdfDocument.Form.Add(radio); dataDir = dataDir + "RadioButton_out_.pdf"; // Save the PDF file pdfDocument.Save(dataDir); // ExEnd:RadioButton Console.WriteLine("\nRadio button field added successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { try { // ExStart:GetCoordinates // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Load the output document Document doc1 = new Document(dataDir + "input.pdf"); // Find added fields RadioButtonField field0 = doc1.Form["Item1"] as RadioButtonField; RadioButtonField field1 = doc1.Form["Item2"] as RadioButtonField; RadioButtonField field2 = doc1.Form["Item3"] as RadioButtonField; // And show positions of sub items for each of them. foreach (RadioButtonOptionField option in field0) { Console.WriteLine(option.Rect); } foreach (RadioButtonOptionField option in field1) { Console.WriteLine(option.Rect); } foreach (RadioButtonOptionField option in field2) { Console.WriteLine(option.Rect); } // ExEnd:GetCoordinates } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Main(string[] args) { // The path to the documents directory. string dataDir = Path.GetFullPath("../../../Data/"); // Create directory if it is not already present. bool IsExists = System.IO.Directory.Exists(dataDir); if (!IsExists) System.IO.Directory.CreateDirectory(dataDir); // instantiate Document object Document pdfDocument = new Document(); // add a page to PDF file pdfDocument.Pages.Add(); // instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // add first radio button option and also specify its origin using Rectangle object radio.AddOption("Test", new Aspose.Pdf.Rectangle(0, 0, 20, 20)); // add second radio button option radio.AddOption("Test1", new Aspose.Pdf.Rectangle(20, 20, 40, 40)); // add radio button to form object of Document object pdfDocument.Form.Add(radio); // save the PDF file pdfDocument.Save(dataDir + "output.pdf"); }
private RadioButtonField getRadioButtonField(string name) { RadioButtonField rbf = null; foreach (KeyValuePair <string, RadioButtonField> pair in pdfRadioButtonFields) { if (pair.Key == name) { rbf = pair.Value; break; } } if (rbf == null) { rbf = new RadioButtonField(pdfPage); rbf.PartialName = name; rbf.Name = name; pdfDocument.Form.Add(rbf, pdfPage.Number); pdfRadioButtonFields.Add(name, rbf); } return(rbf); }
public static void Run() { try { // ExStart:RadioButton // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Instantiate Document object Document pdfDocument = new Document(); // Add a page to PDF file pdfDocument.Pages.Add(); // Instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // Add first radio button option and also specify its origin using Rectangle object radio.AddOption("Test", new Rectangle(0, 0, 20, 20)); // Add second radio button option radio.AddOption("Test1", new Rectangle(20, 20, 40, 40)); // Add radio button to form object of Document object pdfDocument.Form.Add(radio); dataDir = dataDir + "RadioButton_out.pdf"; // Save the PDF file pdfDocument.Save(dataDir); // ExEnd:RadioButton Console.WriteLine("\nRadio button field added successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { try { // ExStart:SelectRadioButton // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Open document Document pdfDocument = new Document(dataDir + "RadioButton.pdf"); // Get a field RadioButtonField radioField = pdfDocument.Form["radio"] as RadioButtonField; // Specify the index of radio button from group radioField.Selected = 2; dataDir = dataDir + "SelectRadioButton_out.pdf"; // Save the PDF file pdfDocument.Save(dataDir); // ExEnd:SelectRadioButton Console.WriteLine("\nRadioButton from group selected successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Create directory if it is not already present. bool IsExists = System.IO.Directory.Exists(dataDir); if (!IsExists) { System.IO.Directory.CreateDirectory(dataDir); } // instantiate Document object Document pdfDocument = new Document(); // add a page to PDF file pdfDocument.Pages.Add(); // instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // add first radio button option and also specify its origin using Rectangle object radio.AddOption("Test", new Aspose.Pdf.Rectangle(0, 0, 20, 20)); // add second radio button option radio.AddOption("Test1", new Aspose.Pdf.Rectangle(20, 20, 40, 40)); // add radio button to form object of Document object pdfDocument.Form.Add(radio); // save the PDF file pdfDocument.Save(dataDir + "RadioButton_out.pdf"); }
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..."; }
private static void ModifyRadioButtons(RadioButtonField radioField, string selectedOption) { foreach (RadioOption option in radioField.Options) { if (option.Value == selectedOption) { radioField.Value = option; } } }
public static void Run() { try { // ExStart:CreateDoc // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Create a new document Document doc = new Document(); Page page = doc.Pages.Add(); // Add radio button field RadioButtonField field = new RadioButtonField(page); field.Rect = new Aspose.Pdf.Rectangle(40, 650, 100, 720); field.PartialName = "NewField"; // Add radio button options. please note that these options are situated // Neither horizontally nor vertically. // You can try to set any coordinates (and even size) for them. RadioButtonOptionField opt1 = new RadioButtonOptionField(); opt1.Rect = new Aspose.Pdf.Rectangle(40, 650, 60, 670); opt1.OptionName = "Item1"; opt1.Border = new Border(opt1); opt1.Border.Width = 1; opt1.Characteristics.Border = System.Drawing.Color.Black; RadioButtonOptionField opt2 = new RadioButtonOptionField(); opt2.Rect = new Aspose.Pdf.Rectangle(60, 670, 80, 690); opt2.OptionName = "Item2"; opt2.Border = new Border(opt2); opt2.Border.Width = 1; opt2.Characteristics.Border = System.Drawing.Color.Black; RadioButtonOptionField opt3 = new RadioButtonOptionField(); opt3.Rect = new Aspose.Pdf.Rectangle(80, 690, 100, 710); opt3.OptionName = "Item3"; opt3.Border = new Border(opt3); opt3.Border.Width = 1; opt3.Characteristics.Border = System.Drawing.Color.Black; field.Add(opt1); field.Add(opt2); field.Add(opt3); doc.Form.Add(field); dataDir = dataDir + "CreateDoc_out.pdf"; // Save the PDF document doc.Save(dataDir); // ExEnd:CreateDoc Console.WriteLine("\nNew doc with 3 items radio button created successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { try { // ExStart:GroupedCheckBoxes // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Instantiate Document object Document pdfDocument = new Document(); // Add a page to PDF file Page page = pdfDocument.Pages.Add(); // Instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // Add first radio button option and also specify its origin using Rectangle object RadioButtonOptionField opt1 = new RadioButtonOptionField(page, new Aspose.Pdf.Rectangle(0, 0, 20, 20)); RadioButtonOptionField opt2 = new RadioButtonOptionField(page, new Aspose.Pdf.Rectangle(100, 0, 120, 20)); opt1.OptionName = "Test1"; opt2.OptionName = "Test2"; radio.Add(opt1); radio.Add(opt2); opt1.Style = BoxStyle.Square; opt2.Style = BoxStyle.Square; opt1.Style = BoxStyle.Cross; opt2.Style = BoxStyle.Cross; opt1.Border = new Border(opt1); opt1.Border.Style = BorderStyle.Solid; opt1.Border.Width = 1; opt1.Characteristics.Border = System.Drawing.Color.Black; opt2.Border = new Border(opt2); opt2.Border.Width = 1; opt2.Border.Style = BorderStyle.Solid; opt2.Characteristics.Border = System.Drawing.Color.Black; // Add radio button to form object of Document object pdfDocument.Form.Add(radio); dataDir = dataDir + "GroupedCheckBoxes_out.pdf"; // Save the PDF document pdfDocument.Save(dataDir); // ExEnd:GroupedCheckBoxes Console.WriteLine("\nGrouped checkboxes added successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static void Run() { try { // ExStart:GroupedCheckBoxes // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); // Instantiate Document object Document pdfDocument = new Document(); // Add a page to PDF file Page page = pdfDocument.Pages.Add(); // Instatiate RadioButtonField object with page number as argument RadioButtonField radio = new RadioButtonField(pdfDocument.Pages[1]); // Add first radio button option and also specify its origin using Rectangle object RadioButtonOptionField opt1 = new RadioButtonOptionField(page, new Aspose.Pdf.Rectangle(0, 0, 20, 20)); RadioButtonOptionField opt2 = new RadioButtonOptionField(page, new Aspose.Pdf.Rectangle(100, 0, 120, 20)); opt1.OptionName = "Test1"; opt2.OptionName = "Test2"; radio.Add(opt1); radio.Add(opt2); opt1.Style = BoxStyle.Square; opt2.Style = BoxStyle.Square; opt1.Style = BoxStyle.Cross; opt2.Style = BoxStyle.Cross; opt1.Border = new Border(opt1); opt1.Border.Style = BorderStyle.Solid; opt1.Border.Width = 1; opt1.Characteristics.Border = System.Drawing.Color.Black; opt2.Border = new Border(opt2); opt2.Border.Width = 1; opt2.Border.Style = BorderStyle.Solid; opt2.Characteristics.Border = System.Drawing.Color.Black; // Add radio button to form object of Document object pdfDocument.Form.Add(radio); dataDir = dataDir + "GroupedCheckBoxes_out_.pdf"; // Save the PDF document pdfDocument.Save(dataDir); // ExEnd:GroupedCheckBoxes Console.WriteLine("\nGrouped checkboxes added successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void PutRadioButtonFieldTest() { const string name = "PdfWithAcroForm.pdf"; UploadFile(name, name); RadioButtonField field = new RadioButtonField(PageIndex: 1, IsGroup: false, Selected: 1) { Color = new Color(255, 255, 0, 0), Rect = new Rectangle(100, 100, 160, 140), PartialName = "testField", Style = BoxStyle.Cross, Margin = new MarginInfo { Bottom = 0, Left = 0, Right = 0, Top = 0 }, RadioButtonOptionsField = new List <RadioButtonOptionField> { new RadioButtonOptionField(PageIndex: 1, IsGroup: false) { OptionName = "1", Rect = new Rectangle(100, 130, 160, 140), Style = BoxStyle.Square }, new RadioButtonOptionField(PageIndex: 1, IsGroup: false) { OptionName = "2", Rect = new Rectangle(150, 120, 160, 130), } } }; var response = PdfApi.PutRadioButtonField(name, fieldName: "radiobuttonField", field: field, folder: TempFolder); Assert.That(response.Code, Is.EqualTo(200)); }
private static string CheckFields(Document doc, int pageCount, string filename, string fields, double ratio, bool licensed = true) { double marginLeft = doc.Pages[pageCount].PageInfo.Margin.Left; double marginTop = doc.Pages[pageCount].PageInfo.Margin.Top; int fieldcounter = 0; Aspose.Pdf.Facades.Form pdfForm = new Aspose.Pdf.Facades.Form(doc); // Get values from all fields foreach (Field formField in doc.Form.Fields) { double lowerLeftY = (doc.Pages[pageCount].Rect.Height) - (formField.Rect.ToRect().Y + formField.Height); double lowerLeftX = formField.Rect.ToRect().X; var fieldType = formField.GetType().Name; //pdfForm.GetFieldType(formField.FullName); var imValue = ""; if (fieldType.ToString() == "CheckboxField" || fieldType.ToString() == "ComboBoxField" || fieldType.ToString() == "RadioButtonOptionField" || fieldType.ToString() == "TextBoxField") { var value = formField.Value; if (fieldType.ToString() == "TextBoxField") { fieldType = "Text"; } if (fieldType.ToString() == "CheckboxField") { CheckboxField field = (CheckboxField)formField; if (field.Parent != null) { imValue = field.Parent.FullName; } fieldType = "CheckBox"; if (field.Checked) { value = "true"; } else { value = "false"; } } if (fieldType.ToString() == "RadioButtonOptionField") { RadioButtonOptionField field = (RadioButtonOptionField)formField; RadioButtonField rbf = (RadioButtonField)field.Parent; fieldType = "Radio"; if (field.Parent != null) { imValue = field.Parent.FullName; } if ((rbf.Options[field.OptionName].Index == rbf.Selected)) { value = "true"; } else { value = "false"; } } if (fieldType.ToString() == "ComboBoxField") { ComboBoxField field = (ComboBoxField)formField; string optValues = value; fieldType = "ComboBox"; foreach (Option opt in field.Options) { optValues = optValues + "^^^" + opt.Value; } value = optValues; } bool isRequired = pdfForm.IsRequiredField(formField.FullName); //fields += "$#$" + (lowerLeftX * 2.08) * ratio + "$#$" + (lowerLeftY * 2.08) * ratio + "$#$" + (formField.Width * 2.08) * ratio + "$#$" + (formField.Height * 2.08) * ratio + "$#$" + formField.PageIndex + "$#$" + "image" + formField.PageIndex + ".png" + "$#$" + value + "$#$" + formField.DefaultAppearance.FontName + "$#$" + formField.DefaultAppearance.FontSize + "$#$" + " " + "$#$" + " " + "$#$" + " " + "$#$" + ratio + "$#$" + " " + "$#$" + formField.FullName.Replace('/', '-') + "$#$" + fieldType; fields += "$#$" + (lowerLeftX * 2.08) * ratio + "$#$" + (lowerLeftY * 2.08) * ratio + "$#$" + (formField.Width * 2.08) * ratio + "$#$" + (formField.Height * 2.08) * ratio + "$#$" + formField.PageIndex + "$#$" + "image" + formField.PageIndex + ".png" + "$#$" + value + "$#$" + formField.DefaultAppearance.FontName + "$#$" + formField.DefaultAppearance.FontSize + "$#$" + " " + "$#$" + " " + "$#$" + isRequired + "$#$" + ratio + "$#$" + imValue + "$#$" + fieldcounter + "$#$" + fieldType; } int length = fields.Length; fieldcounter += 1; if (!licensed && fieldcounter == 5) { break; } } return(fields); }
public IHttpActionResult UploadPic(UploadPicModel uploadPicModel) { var fullPath = Path.Combine(Config.Configuration.WorkingDirectory, "Editor", uploadPicModel.documentId); var downloadFileName = "document.pdf"; var documentFileName = Path.Combine(Config.Configuration.WorkingDirectory, "Editor", uploadPicModel.documentId, downloadFileName); Document doc = new Document(documentFileName); //Create image stamp ImageStamp imageStamp = new ImageStamp(HttpContext.Current.Server.MapPath("/img/Test.png")); for (int i = 0; i < uploadPicModel.shapes.Count; i++) { //create stamp Aspose.Pdf.Facades.Stamp stamp = new Aspose.Pdf.Facades.Stamp(); float shapeX = (uploadPicModel.shapes[i].x * 72 / 150) / (float)Convert.ToDouble(uploadPicModel.shapes[i].ratio); float shapeY = (uploadPicModel.shapes[i].y * 72 / 150) / (float)Convert.ToDouble(uploadPicModel.shapes[i].ratio); float shapeW = (uploadPicModel.shapes[i].w * 72 / 150) / (float)Convert.ToDouble(uploadPicModel.shapes[i].ratio); float shapeH = (uploadPicModel.shapes[i].h * 72 / 150) / (float)Convert.ToDouble(uploadPicModel.shapes[i].ratio); double yaxis = (float)(doc.Pages[uploadPicModel.shapes[i].p].Rect.URY - (shapeH + shapeY)); var isSpecial = true; //regexItem.IsMatch(uploadPicModel.shapes[i].imName); if (uploadPicModel.shapes[i].Itype == "highlight" || uploadPicModel.shapes[i].Itype == "image") { imageStamp = uploadPicModel.shapes[i].Itype == "highlight" ? new ImageStamp(HttpContext.Current.Server.MapPath("/img/test.png")) : new ImageStamp(fullPath + uploadPicModel.shapes[i].imName); imageStamp.Background = false; imageStamp.XIndent = (float)(shapeX); imageStamp.YIndent = (float)(yaxis); imageStamp.Height = shapeH; imageStamp.Width = shapeW; //Add stamp to particular page doc.Pages[uploadPicModel.shapes[i].p].AddStamp(imageStamp); } else if (uploadPicModel.shapes[i].Itype == "text") { //create text stamp TextStamp textStamp = new TextStamp(uploadPicModel.shapes[i].t); textStamp.XIndent = (float)(shapeX); textStamp.YIndent = (float)(yaxis); //rotate stamp textStamp.RotateAngle = 360 - (Convert.ToDouble(uploadPicModel.shapes[i].fieldType) * 180 / Math.PI); //set text properties textStamp.TextState.Font = FontRepository.FindFont(uploadPicModel.shapes[i].n); textStamp.TextState.FontSize = Convert.ToInt32(uploadPicModel.shapes[i].s) * 0.75f; if (uploadPicModel.shapes[i].wt == "bold") { textStamp.TextState.FontStyle = FontStyles.Bold; } if (uploadPicModel.shapes[i].st == "italic") { textStamp.TextState.FontStyle = FontStyles.Italic; } textStamp.TextState.ForegroundColor = GetColor(uploadPicModel.shapes[i].c); //add stamp to particular page doc.Pages[uploadPicModel.shapes[i].p].AddStamp(textStamp); } else if (uploadPicModel.shapes[i].Itype == "field" && isSpecial) { if (uploadPicModel.shapes[i].fieldType == "Text") { // Get a field TextBoxField textBoxField = doc.Form.Fields[Convert.ToInt32(uploadPicModel.shapes[i].imName)] as TextBoxField; // Modify field value textBoxField.Value = uploadPicModel.shapes[i].t; } else if (uploadPicModel.shapes[i].fieldType == "CheckBox") { // Get a field CheckboxField checkBoxField = doc.Form.Fields[Convert.ToInt32(uploadPicModel.shapes[i].imName)] as CheckboxField; if (uploadPicModel.shapes[i].t != "") { // Modify field value checkBoxField.Checked = Convert.ToBoolean(uploadPicModel.shapes[i].t); } } else if (uploadPicModel.shapes[i].fieldType == "Radio") { RadioButtonOptionField field = (RadioButtonOptionField)doc.Form.Fields[Convert.ToInt32(uploadPicModel.shapes[i].imName)]; RadioButtonField rbf = (RadioButtonField)field.Parent; if (Convert.ToBoolean(uploadPicModel.shapes[i].t)) { rbf.Selected = rbf.Options[field.OptionName].Index; } else { field.ActiveState = "Off"; } } else if (uploadPicModel.shapes[i].fieldType == "ComboBox") { // Get a field ComboBoxField comboBoxField = doc.Form.Fields[Convert.ToInt32(uploadPicModel.shapes[i].imName)] as ComboBoxField; var values = uploadPicModel.shapes[i].t.Split(new[] { "^^^" }, StringSplitOptions.None)[0]; foreach (var item in comboBoxField.Options.Cast <Option>()) { if (item.Value == values) { comboBoxField.Selected = item.Index; } } } } } doc.Save(Config.Configuration.OutputDirectory + "/Export.pdf"); return(Ok(new DocStatusModel())); }
public static void UploadPic(List <shap> shapes, string filename, string aspectRatio) { Document doc = new Document(HttpContext.Current.Server.MapPath("Convert/output.pdf")); //Create image stamp ImageStamp imageStamp = new ImageStamp(HttpContext.Current.Server.MapPath("test.png")); for (int i = 0; i < shapes.Count; i++) { //create stamp Aspose.Pdf.Facades.Stamp stamp = new Aspose.Pdf.Facades.Stamp(); float shapeX = (shapes[i].x * 72 / 150) / (float)Convert.ToDouble(shapes[i].ratio); float shapeY = (shapes[i].y * 72 / 150) / (float)Convert.ToDouble(shapes[i].ratio); float shapeW = (shapes[i].w * 72 / 150) / (float)Convert.ToDouble(shapes[i].ratio); float shapeH = (shapes[i].h * 72 / 150) / (float)Convert.ToDouble(shapes[i].ratio); double yaxis = (float)(doc.Pages[shapes[i].p].Rect.URY - (shapeH + shapeY)); var isSpecial = true;//regexItem.IsMatch(shapes[i].imName); if (shapes[i].Itype == "highlight" || shapes[i].Itype == "image") { if (shapes[i].Itype == "highlight") { imageStamp = new ImageStamp(HttpContext.Current.Server.MapPath("test.png")); } else { imageStamp = new ImageStamp(HttpContext.Current.Server.MapPath("Images/" + shapes[i].imName)); } imageStamp.Background = false; imageStamp.XIndent = (float)(shapeX); imageStamp.YIndent = (float)(yaxis); imageStamp.Height = shapeH; imageStamp.Width = shapeW; //Add stamp to particular page doc.Pages[shapes[i].p].AddStamp(imageStamp); } else if (shapes[i].Itype == "text") { /* * // create TextBuilder for first page * TextBuilder tb = new TextBuilder(doc.Pages[shapes[i].p]); * * // TextFragment with sample text * TextFragment fragment = new TextFragment(shapes[i].t); * * // set the font for TextFragment * fragment.TextState.Font = FontRepository.FindFont(shapes[i].n); * fragment.TextState.FontSize = Convert.ToInt32(shapes[i].s); * if (shapes[i].wt == "bold") * { * fragment.TextState.FontStyle = FontStyles.Bold; * } * * if (shapes[i].st == "italic") * { * fragment.TextState.FontStyle = FontStyles.Italic; * } * * // set the formatting of text as Underline * // fragment.TextState.Underline = true; * fragment.TextState.ForegroundColor = GetColor(shapes[i].c); * // specify the position where TextFragment needs to be placed * fragment.Position = new Position((float)(shapeX), (float)(yaxis)); * * // fragment.Rectangle.Rotate((360 - (Convert.ToDouble(shapes[i].fieldType)) * 180 / Math.PI); * * // append TextFragment to PDF file * tb.AppendText(fragment); */ //create text stamp TextStamp textStamp = new TextStamp(shapes[i].t); //set whether stamp is background // textStamp.Background = true; //set origin textStamp.XIndent = (float)(shapeX); textStamp.YIndent = (float)(yaxis); //rotate stamp textStamp.RotateAngle = 360 - ((Convert.ToDouble(shapes[i].fieldType)) * 180 / Math.PI); //set text properties textStamp.TextState.Font = FontRepository.FindFont(shapes[i].n); textStamp.TextState.FontSize = Convert.ToInt32(shapes[i].s) * 0.75f; if (shapes[i].wt == "bold") { textStamp.TextState.FontStyle = FontStyles.Bold; } if (shapes[i].st == "italic") { textStamp.TextState.FontStyle = FontStyles.Italic; } textStamp.TextState.ForegroundColor = GetColor(shapes[i].c); //add stamp to particular page doc.Pages[shapes[i].p].AddStamp(textStamp); } else if (shapes[i].Itype == "field" && isSpecial) { if (shapes[i].fieldType == "Text") { // Get a field TextBoxField textBoxField = doc.Form.Fields[Convert.ToInt32(shapes[i].imName)] as TextBoxField; // Modify field value textBoxField.Value = shapes[i].t; } else if (shapes[i].fieldType == "CheckBox") { // Get a field CheckboxField checkBoxField = doc.Form.Fields[Convert.ToInt32(shapes[i].imName)] as CheckboxField; if (shapes[i].t != "") { // Modify field value checkBoxField.Checked = Convert.ToBoolean(shapes[i].t); } } else if (shapes[i].fieldType == "Radio") { RadioButtonOptionField field = (RadioButtonOptionField)doc.Form.Fields[Convert.ToInt32(shapes[i].imName)]; RadioButtonField rbf = (RadioButtonField)field.Parent; if (Convert.ToBoolean(shapes[i].t)) { rbf.Selected = rbf.Options[field.OptionName].Index; } else { field.ActiveState = "Off"; } } else if (shapes[i].fieldType == "ComboBox") { // Get a field ComboBoxField comboBoxField = doc.Form.Fields[Convert.ToInt32(shapes[i].imName)] as ComboBoxField; var values = shapes[i].t.Split(new string[] { "^^^" }, StringSplitOptions.None)[0]; foreach (var item in comboBoxField.Options.Cast <Option>()) { if (item.Value == values) { comboBoxField.Selected = item.Index; } } } } } doc.Save(HttpContext.Current.Server.MapPath("Convert/Export.pdf")); }
public static void Run() { try { // ExStart:RadioButtonWithOptions // The path to the documents directory. string dataDir = RunExamples.GetDataDir_AsposePdf_Forms(); Document doc = new Document(); Page page = doc.Pages.Add(); Aspose.Pdf.Table table = new Aspose.Pdf.Table(); table.ColumnWidths = "120 120 120"; page.Paragraphs.Add(table); Row r1 = table.Rows.Add(); Cell c1 = r1.Cells.Add(); Cell c2 = r1.Cells.Add(); Cell c3 = r1.Cells.Add(); RadioButtonField rf = new RadioButtonField(page); rf.PartialName = "radio"; doc.Form.Add(rf, 1); RadioButtonOptionField opt1 = new RadioButtonOptionField(); RadioButtonOptionField opt2 = new RadioButtonOptionField(); RadioButtonOptionField opt3 = new RadioButtonOptionField(); opt1.OptionName = "Item1"; opt2.OptionName = "Item2"; opt3.OptionName = "Item3"; opt1.Width = 15; opt1.Height = 15; opt2.Width = 15; opt2.Height = 15; opt3.Width = 15; opt3.Height = 15; rf.Add(opt1); rf.Add(opt2); rf.Add(opt3); opt1.Border = new Border(opt1); opt1.Border.Width = 1; opt1.Border.Style = BorderStyle.Solid; opt1.Characteristics.Border = System.Drawing.Color.Black; opt1.DefaultAppearance.TextColor = System.Drawing.Color.Red; opt1.Caption = new TextFragment("Item1"); opt2.Border = new Border(opt1); opt2.Border.Width = 1; opt2.Border.Style = BorderStyle.Solid; opt2.Characteristics.Border = System.Drawing.Color.Black; opt2.DefaultAppearance.TextColor = System.Drawing.Color.Red; opt2.Caption = new TextFragment("Item2"); opt3.Border = new Border(opt1); opt3.Border.Width = 1; opt3.Border.Style = BorderStyle.Solid; opt3.Characteristics.Border = System.Drawing.Color.Black; opt3.DefaultAppearance.TextColor = System.Drawing.Color.Red; opt3.Caption = new TextFragment("Item3"); c1.Paragraphs.Add(opt1); c2.Paragraphs.Add(opt2); c3.Paragraphs.Add(opt3); dataDir = dataDir + "RadioButtonWithOptions_out.pdf"; // Save the PDF file doc.Save(dataDir); // ExEnd:RadioButtonWithOptions Console.WriteLine("\nRadio button field with three options added successfully.\nFile saved at " + dataDir); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// 添加自定义列到Grid的Column中 /// </summary> /// <param name="column"></param> void AddToGridColumn(GridColumn column) { FieldType type = column.type; switch (type) { case FieldType.LineNumberField: LineNumberField lnf = new LineNumberField(); lnf.IsContinuousArrange = true; lnf.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; lnf.HeaderStyle.Width = column.unit; lnf.ItemStyle.Width = column.unit; lnf.ItemStyle.HorizontalAlign = HorizontalAlign.Center; this.Columns.Add(lnf); break; case FieldType.BoundField: BoundField bf = new BoundField(); bf.HeaderText = column.headerName; bf.HeaderStyle.Width = column.unit; bf.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; bf.DataField = column.fieldName; bf.ItemStyle.Width = column.unit; bf.ItemStyle.HorizontalAlign = column.hAlign; bf.SortExpression = column.fieldName; this.Columns.Add(bf); break; case FieldType.ButtonField: ButtonField btn = new ButtonField(); btn.HeaderText = column.headerName; btn.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; btn.HeaderStyle.Width = column.unit; btn.HeaderStyle.Wrap = false; btn.ButtonType = column.button; btn.ItemStyle.Width = column.unit; btn.ItemStyle.HorizontalAlign = column.hAlign; if (btn.ButtonType == ButtonType.Image) { btn.ImageUrl = column.fieldName; } else { btn.Text = column.fieldName; } btn.CommandName = column.commandName; this.Columns.Add(btn); break; case FieldType.RadioButtonField: RadioButtonField rbf = new RadioButtonField(); rbf.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; rbf.HeaderStyle.Width = column.unit; rbf.ItemStyle.Width = column.unit; this.Columns.Add(rbf); break; case FieldType.CheckBoxExField: CheckBoxExField cbef = new CheckBoxExField(); cbef.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; cbef.HeaderStyle.Width = column.unit; cbef.ItemStyle.Width = column.unit; cbef.CheckedValue = "1"; this.Columns.Add(cbef); break; case FieldType.CheckBoxField: CheckBoxField cbf = new CheckBoxField(); cbf.HeaderText = column.headerName; cbf.DataField = column.fieldName; cbf.ItemStyle.HorizontalAlign = column.hAlign; this.Columns.Add(cbf); break; case FieldType.HyperLinkField: HyperLinkField hf = new HyperLinkField(); //hf.Text = column.headerName; hf.HeaderText = column.headerName; if (string.IsNullOrEmpty(column.text)) { hf.DataTextField = column.fieldName; } else { hf.Text = column.text; } hf.ItemStyle.HorizontalAlign = column.hAlign; hf.Target = column.target; hf.DataNavigateUrlFields = column.dataNavigateUrlFields; hf.DataNavigateUrlFormatString = column.dataNavigateUrlFormatString; this.Columns.Add(hf); break; case FieldType.LinkButtonTemplate: LinkButtonTemplate lbt = column._linkButtonTemplate; TemplateField templateLinkButtonField = new TemplateField(); templateLinkButtonField.ItemTemplate = lbt; templateLinkButtonField.HeaderText = column.headerName; templateLinkButtonField.HeaderStyle.Width = templateLinkButtonField.ItemStyle.Width = column.unit; templateLinkButtonField.HeaderStyle.HorizontalAlign = templateLinkButtonField.ItemStyle.HorizontalAlign = column.hAlign; this.Columns.Add(templateLinkButtonField); break; case FieldType.DialogButtonTemplate: DialogButtonTemplate dialogButtonTemplate = column._dialogButtonTemplate; TemplateField templateField = new TemplateField(); templateField.ItemTemplate = dialogButtonTemplate; templateField.HeaderText = column.headerName; templateField.HeaderStyle.Width = templateField.ItemStyle.Width = column.unit; templateField.HeaderStyle.HorizontalAlign = templateField.ItemStyle.HorizontalAlign = column.hAlign; this.Columns.Add(templateField); break; case FieldType.TextBoxTemplate: TextBoxTemplate tb = column._textBoxTemplate; TemplateField ttb = new TemplateField(); ttb.ItemTemplate = tb; ttb.HeaderText = column.headerName; ttb.HeaderStyle.Width = ttb.ItemStyle.Width = column.unit; ttb.HeaderStyle.HorizontalAlign = ttb.ItemStyle.HorizontalAlign = column.hAlign; this.Columns.Add(ttb); break; case FieldType.ButtonTemplate: ButtonTemplate bt = column._buttonTemplate; TemplateField templateButtonField = new TemplateField(); templateButtonField.ItemTemplate = bt; templateButtonField.HeaderText = column.headerName; templateButtonField.HeaderStyle.Width = templateButtonField.ItemStyle.Width = column.unit; templateButtonField.HeaderStyle.HorizontalAlign = templateButtonField.ItemStyle.HorizontalAlign = column.hAlign; this.Columns.Add(templateButtonField); break; default: if (column._dataControlField != null) { this.Columns.Add(column._dataControlField); } break; } }
private Aspose.Pdf.Forms.Field getFormField(HNodeTag inputNode) { Aspose.Pdf.Forms.Field field = null; string fieldType = inputNode.GetAttribute("type", "text"); //button|checkbox|file|hidden|image|password|radio|reset|submit|text switch (fieldType) { case "button": case "submit": field = getFormField_Button(); break; case "checkbox": field = getFormField_CheckBox(); break; case "file": case "hidden": case "image": case "password": case "reset": break; case "radio": field = getFormField_RadioBox(); break; case "text": default: field = getFormField_TextBox(); break; } return(field); Aspose.Pdf.Forms.Field getFormField_TextBox() { TextBoxField textBoxField = new TextBoxField(); textBoxField.Height = 16; textBoxField.Width = 160; string name = inputNode.GetAttribute("name", "text_box_field"); textBoxField.PartialName = name; string value = inputNode.GetAttribute("value", ""); if (!String.IsNullOrEmpty(value)) { textBoxField.Value = value; } //Так делать нельзя, падает исключение при pdfDocument.ProcessParagraphs(); //textBoxField.Value = ""; //Border border = new Border(field); //border.Width = 1; //border.Dash = new Dash(1, 1); //field.Border = border; return(textBoxField); } Aspose.Pdf.Forms.Field getFormField_CheckBox() { CheckboxField checkBoxField = new CheckboxField(); checkBoxField.Height = 10; checkBoxField.Width = 10; string name = inputNode.GetAttribute("name", "checkbox_field"); checkBoxField.PartialName = name; //Так делать нельзя, падает исключение при pdfDocument.ProcessParagraphs(); //checkBoxField.Checked = true; return(checkBoxField); } Aspose.Pdf.Forms.Field getFormField_RadioBox() { string name = inputNode.GetAttribute("name", "radio_button_field"); RadioButtonField rbf = getRadioButtonField(name); RadioButtonOptionField opt = new RadioButtonOptionField(); opt.OptionName = name + "_" + (rbf.Count + 1).ToString(); opt.Width = 12; opt.Height = 12; //Так делать нельзя, падает исключение при pdfDocument.ProcessParagraphs(); //opt.Border = new Border(opt); //opt.Border.Width = 1; //opt.Border.Style = BorderStyle.Solid; //opt.Characteristics.Border = System.Drawing.Color.Black; //opt.DefaultAppearance.TextColor = System.Drawing.Color.Red; //opt.Caption = new TextFragment("Item1"); rbf.Add(opt); return(opt); } Aspose.Pdf.Forms.Field getFormField_Button() { ButtonField buttonField = new ButtonField(); string value = inputNode.GetAttribute("value", ""); buttonField.Height = 18; buttonField.Width = 12 + 6 * value.Length; if (!String.IsNullOrEmpty(value)) { buttonField.Value = value; } return(buttonField); } }
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); } }