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(); } } }
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); } }
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); }
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(); }
private static List <FormFieldControl> ToFormControls(IList <PDFFormField> pdfFormFields, int docResolution) { return(PDFFormContolsHelper.FormFieldsToControls(pdfFormFields, docResolution)); }