Beispiel #1
0
        private void _imageList_SelectedItemsChanged(object sender, EventArgs e)
        {
            for (int index = 0; index < _imageList.Items.Count; index++)
            {
                if (_imageList.Items[index].IsSelected)
                {
                    _currentPageIndex = index;

                    PDFFormContolsHelper.SetPageControlsToCanvas(_imageList.Items[index] as PDFPageItem, _imageViewer);

                    SetViewerImage(_imageList.Items[_currentPageIndex] as PDFPageItem);

                    UpdateControls();
                }
            }
        }
Beispiel #2
0
        private void _miFileLoadDataFromXML_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = string.Format("XML (*.xml)|*.xml");

            if (dlg.ShowDialog(this) == DialogResult.OK)
            {
                PDFDocumentHelper.LoadFormsFieldsFromXML(dlg.FileName, _pdfDocument, _imageList);

                if (!PDFDocumentHelper.HasForms)
                {
                    MessageBox.Show("The XML file does not contain any forms data", "PDF Forms Demo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                PDFFormContolsHelper.SetPageControlsToCanvas(_imageList.ActiveItem as PDFPageItem, _imageViewer);

                _imageViewer.OnTransformChanged(e);
            }
        }
Beispiel #3
0
        public static void SaveXML(List <PDFPageItem> pages, string fileName)
        {
            XmlDocument document        = new XmlDocument();
            XmlNode     pdfDocumentNode = document.CreateElement("PDFDocument");

            foreach (PDFPageItem page in pages)
            {
                XmlNode pageNode = document.CreateElement("PDFDocumentPage");

                XmlNode formFieldsNode = document.CreateElement("PDFFormFields");

                // Create new copy for page form fields
                List <PDFFormField> formFieldsList = new List <PDFFormField>();
                foreach (PDFFormField field in page.FormFields)
                {
                    formFieldsList.Add(field);
                }

                PDFFormContolsHelper.UpdateFormFieldsFromControls(formFieldsList, page.FormControls);

                foreach (PDFFormField field in formFieldsList)
                {
                    XmlNode fieldNode = CreateFieldNode(document, field);
                    formFieldsNode.AppendChild(fieldNode);
                }

                XmlNode pageNumber = document.CreateElement("PageNumber");
                pageNumber.InnerText = page.PageNumber.ToString();

                pageNode.AppendChild(pageNumber);
                pageNode.AppendChild(formFieldsNode);

                pdfDocumentNode.AppendChild(pageNode);
            }

            document.AppendChild(pdfDocumentNode);
            document.Save(fileName);
        }
Beispiel #4
0
        public static void LoadPDFDocument(RasterCodecs codecs, PDFDocument document, ImageViewer imageList)
        {
            _hasForms = false;

            imageList.BeginUpdate();

            imageList.Items.Clear();

            document.ParsePages(PDFParsePagesOptions.FormFields, 1, -1);

            for (int i = 0; i < document.Pages.Count; i++)
            {
                PDFPageItem page = new PDFPageItem();
                // Set page image to use as thumb image
                page.Image = document.GetPageImage(codecs, i + 1);
                // Set page SVG document.
                page.PageSVG = document.GetPageSvg(codecs, i + 1, new CodecsLoadSvgOptions()) as SvgDocument;
                page.PageSVG.OptimizeView();
                // Set page Raster image.
                page.PageImage = document.GetPageImage(codecs, i + 1);
                // Set page number.
                page.PageNumber = i + 1;
                // Set Form Field Associated with this page
                page.FormFields = document.Pages[i].FormFields;

                // Check if the document has forms.
                if (!_hasForms && document.Pages[i].FormFields != null && document.Pages[i].FormFields.Count > 0)
                {
                    _hasForms = true;
                }

                page.FormControls = PDFFormContolsHelper.FormFieldsToControls(document.Pages[i].FormFields, document.Resolution);

                imageList.Items.Add(page);
            }

            imageList.EndUpdate();
        }
Beispiel #5
0
 private static List <FormFieldControl> ToFormControls(IList <PDFFormField> pdfFormFields, int docResolution)
 {
     return(PDFFormContolsHelper.FormFieldsToControls(pdfFormFields, docResolution));
 }