示例#1
0
        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);
            }
        }
示例#2
0
        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");
        }
示例#4
0
        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);
            }

        }
示例#6
0
        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);
            }
        }
示例#7
0
        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");
        }
示例#8
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...";
        }
 private static void ModifyRadioButtons(RadioButtonField radioField, string selectedOption)
 {
     foreach (RadioOption option in radioField.Options)
     {
         if (option.Value == selectedOption)
         {
             radioField.Value = option;
         }
     }
 }
示例#10
0
        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);
            }
        }
示例#11
0
        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);
            }
        }
示例#13
0
        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);
            }
        }
示例#14
0
        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));
        }
示例#15
0
        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);
        }
示例#16
0
        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()));
        }
示例#17
0
        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);
            }

        }
示例#19
0
文件: DexGrid.cs 项目: XiaoQiJun/BPS
        /// <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;
            }
        }
示例#20
0
        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);
            }
        }
示例#21
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;
                }
            }
        }
        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);
            }
        }
示例#23
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);
        }
示例#24
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);
            }
        }