private void ReadDocumentStructure(PDFDocument document, PDFParseDocumentStructureOptions parseDocumentStructureOptions)
        {
            _readDocumentStructureLabel.Visible      = true;
            _readDocumentStructureValueLabel.Visible = true;
            Application.DoEvents();

            try
            {
                if (parseDocumentStructureOptions != PDFParseDocumentStructureOptions.None)
                {
                    using (WaitCursor wait = new WaitCursor())
                    {
                        document.ParseDocumentStructure(parseDocumentStructureOptions);
                        _readDocumentStructureValueLabel.Text = DemosGlobalization.GetResxString(GetType(), "resx_Finished");
                    }
                }
                else
                {
                    _readDocumentStructureValueLabel.Text = DemosGlobalization.GetResxString(GetType(), "resx_Skipped");
                }
            }
            catch (Exception ex)
            {
                _readDocumentStructureValueLabel.Text = DemosGlobalization.GetResxString(GetType(), "resx_Error");
                AddError(DemosGlobalization.GetResxString(GetType(), "resx_ReadingDocumentStructure"), ex);
            }

            Application.DoEvents();
        }
        public bool Run(PDFDocument document, PDFParseDocumentStructureOptions parseDocumentStructureOptions, PDFParsePagesOptions parsePagesOptions, bool parseChunks)
        {
            // - Read the document structure
            ReadDocumentStructure(document, parseDocumentStructureOptions);

            // - Parse the document objects
            ParseObjects(document, parsePagesOptions, parseChunks);

            if (_errorsListBox.Items.Count > 0)
            {
                _errorsLabel.Visible           = true;
                _copyToClipboardButton.Visible = true;
                return(false);
            }

            return(true);
        }
        public void Apply()
        {
            // Get read object options
            // Get resolution
            ResolutionItem resolutionItem = (ResolutionItem)_resolutionComboBox.SelectedItem;

            _resolution = resolutionItem.Value;

            _parseDocumentStructOptions = PDFParseDocumentStructureOptions.None;

            if (_readBookmarksCheckBox.Checked)
            {
                _parseDocumentStructOptions |= PDFParseDocumentStructureOptions.Bookmarks;
            }
            if (_readFontsCheckBox.Checked)
            {
                _parseDocumentStructOptions |= PDFParseDocumentStructureOptions.Fonts;
            }
            if (_readInternalLinksCheckBox.Checked)
            {
                _parseDocumentStructOptions |= PDFParseDocumentStructureOptions.InternalLinks;
            }

            _parsePagesOptions = PDFParsePagesOptions.None;
            if (_parseObjectsCheckBox.Checked)
            {
                _parsePagesOptions = PDFParsePagesOptions.AllIgnoreWhiteSpaces;
            }
            if (!_parseDigitalSignaturesCheckBox.Checked)
            {
                _parsePagesOptions &= ~PDFParsePagesOptions.Signatures;
            }

            _parseChunks = _parseChunksCheckBox.Checked;

            _lastResolution = _resolution;
            _lastParseDocumentStructOptions = _parseDocumentStructOptions;
            _lastParsePagesOptions          = _parsePagesOptions;
            _lastParseChunks = _parseChunks;
        }
Beispiel #4
0
        private void LoadPDFFile(string fileName)
        {
            try
            {
                using (RasterCodecs codecs = new RasterCodecs())
                {
                    codecs.Options.RasterizeDocument.Load.XResolution = 300;
                    codecs.Options.RasterizeDocument.Load.YResolution = 300;
                    codecs.Options.Pdf.Load.HideFormFields            = true;

                    if (_pdfDocument != null)
                    {
                        _pdfDocument.Dispose();
                        _pdfDocument = null;
                    }

                    _pdfDocument = new PDFDocument(fileName);

                    PDFParseDocumentStructureOptions _parseDocumentStructOptions = PDFParseDocumentStructureOptions.InternalLinks | PDFParseDocumentStructureOptions.Bookmarks;

                    _pdfDocument.ParseDocumentStructure(_parseDocumentStructOptions);

                    PDFDocumentHelper.LoadPDFDocument(codecs, _pdfDocument, _imageList);

                    // Reset current page index value.
                    _currentPageIndex = 0;

                    _imageList.Items[_currentPageIndex].IsSelected = true;
                }
            }
            catch (Exception ex)
            {
                Messager.ShowError(this, ex.Message);
            }
            finally
            {
                UpdateControls();
            }
        }