Link Search Menu Expand Document

IBaseTextExtractor Interface

Defines a base interface for PDF text extractors.

Namespace:Bytescout.PDFExtractor
Assembly: Bytescout.PDFExtractor (in Bytescout.PDFExtractor.dll) Version: 13.4.0.4760-master
Syntax
public interface IBaseTextExtractor : IBaseOCRExtractor

The IBaseTextExtractor type exposes the following members.

Properties
NameDescription
Public propertyAutoAlignColumnsToHeader
Sets whether to align text in the columns to the header.
Public propertyColumnDetectionByTextAlignment
Suggests the extractor the visual text alignment in table cells. It helps to detect columns when tables don't have vertical separating lines between columns and the columns are formed by text alignment.
Public propertyColumnDetectionMode
Sets how columns are detected. Default is 'ContentGroupsAndBorders' - columns are detected by grouping of text objects and by vertical vector lines.
Public propertyConsiderBackgroundColors
Consider background colors under text objects when detecting table structure. It can be useful for striped tables, but may degrade extraction quality on scanned documents because of uneven image background. Default is false.
Public propertyConsiderFontColors
Consider font colors in document text when detecting table structure. Default is false.
Public propertyConsiderFontNames
Consider font names in document text when detecting table structure. Default is false.
Public propertyConsiderFontSizes
Consider font sizes in document text when detecting table structure. Default is false.
Public propertyConsiderHorizontalBorders
Consider horizontal borders between text objects when detecting table structure and merging objects. Default is true.
Public propertyConsiderVerticalBorders
Consider vertical borders between text objects when detecting table structure and merging objects. Default is true.
Public propertyCustomExtractionColumns
Allows to override automatic columns detection with custom columns coordinates.
Public propertyDetectLinesInsteadOfParagraphs
Lines detection option. Obsolete: Use LineGroupingMode instead.
Public propertyDetectNewColumnBySpacesRatio
Space ratio between words. Large spacing is treated as column separator. Using this parameter you can control the column detection.
Public propertyEnableTextAnalysis
Enables or disables extracted text analysis. Check TextAnalysisResults after the extraction for analysis results.
Public propertyExtractAnnotations
Sets whether to extract text from annotation objects. Default is true.
Public propertyExtractColumnByColumn
Sets whether we should reconstruct table structure or extract text objects as they go in the PDF document stream. Default is true.
Public propertyExtractInvisibleText
Sets whether to extract invisible text from a PDF document.
Public propertyExtractionColumns
Contains columns detected from last processed document page.
Public propertyExtractShadowLikeText
Sets whether to extract shadow-like text from a PDF document (when the same text is drawn twice with small offset). Default is 'true' - includes all decoded text, regardless of its appearance.
Public propertyLineGroupingMode
Sets how lines are grouped into paragraphs. Default is None (no line grouping is performed).
Public propertyNormalizeText
Set whether the extracted text should be normalized. Default is false.
Public propertyOCRAutoModeMinExistingTextLength
Applies to OCRMode.Auto only. Sets the minimal total length of normal text objects on the current page to decide whether to perform OCR or not. If the length of the text is less than this value then extractor will use OCR for this page. Otherwise it extracts the existing normal text objects only.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRBlackList
A set of characters not allowed to be recognized from scanned document. The resulting text will only contain characters that are not in this list. This helps improve uncertain recognition.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRCacheMode
Sets caching of OCR results. Default is Off (no caching). In WholePage caching mode you can save processing time as the SDK will check if need to re-run OCR on the page or it can just pull results from previously cached OCR results.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRCorrections
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRDetectLines
Sets whether to detect horizontal and vertical lines during OCR. They help to detect the table structure in scanned documents. Default is false.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRDetectPageRotation
Sets whether to detect scanned page rotation. Slightly slows down the processing.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRDisableAutoSegmentation
Sets whether to disable the automatic segmentation. All pages will be treated as containing sparse text (as a typical document such as an invoice).
(Inherited from IBaseOCRExtractor.)
Public propertyOCRImagePreprocessingFilters
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRLanguage
Language of OCR (Optical Character Recognition). The valid values are:
  • "eng" - English (default)
  • "deu" - German
  • "fra" - French
  • "spa" - Spanish

Download more languages at https://github.com/bytescout/ocrdata.

(Inherited from IBaseOCRExtractor.)
Public propertyOCRLanguageDataFolder
Folder containing OCR language data files.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRMaximizeCPUUtilization
Gets or sets maximum OCR performance using Intel OpenMP (if available) to accelerate to approximately 30%. Default is false.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRMode
Enables use of the OCR (Optical Character Recognition) which allows you to recognize text from images embedded in PDF pages. Set the language using the OCRLanguage property.

This option requires Bytescout.PDFExtractor.OCRExtension.dll assembly reference and relevant language files in OCRLanguageDataFolder folder. The SDK is shipped with language files for English, French, German and Spanish. You can download more languages at https://github.com/bytescout/ocrdata.

(Inherited from IBaseOCRExtractor.)
Public propertyOCROverallConfidence
Gets overall OCR confidence. This value is calculated after the extraction is performed.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRPageCount
Gets count of processed pages for which OCR was performed. This value is calculated after the extraction is finished.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRResolution
Resolution of OCR (Optical Character Recognition). Default is 300 DPI.
(Inherited from IBaseOCRExtractor.)
Public propertyOCRWhiteList
A set of characters allowed to be recognized from scanned document. Only characters from this list will appear in the result text. This helps improve uncertain recognition.
(Inherited from IBaseOCRExtractor.)
Public propertyPreserveFormattingOnTextExtraction
Sets whether to preserve the text formatting on the extraction.
Public propertyRemoveHyphenation
Sets whether to automatically remove hyphenations in end of lines (works when is true).
Public propertyRotationAngle
Sets whether to rotate document pages to specified angle before the extraction.
Public propertyRTLTextAutoDetectionEnabled
Enables RTL (Right-To-Left) text auto detection. Default is true.
Public propertyShrinkMultipleSpaces
Replaces multiple spaces in text objects with a single space. Multiple spaces affect column detection, so removing them may improve the result. Default is false.
Public propertyTableXMinIntersectionRequiredInPercents
During the reconstruction of table structure, sets how much of the cell rectangle should intersect (by X coordinate axis) with the previous cell to treat both cells belong to the same row.
Public propertyTableYMinIntersectionRequiredInPercents
During the reconstruction of table structure, sets how much of the cell rectangle should intersect (by Y coordinate axis) with the previous cell to treat both cells belong to the same column.
Public propertyTextAnalysisCorruptedTextThreshold
The criterion of detection of the corrupted text used in text analysis. Default is 0.5.
Public propertyTextAnalysisResults
Results of the text analysis. Enable the analysis using EnableTextAnalysis property.
Public propertyTextEncodingCodePage
Sets the default text encoding. Default encoding is "iso-8859-1".
Public propertyTrimSpaces
Sets whether to remove trailing and ending spaces from the text of table cells. Default is true.
Public propertyUnwrap
Sets whether to unwrap the contents of a multiline table cell into a single line. Default is true.
Public propertyXCoordinateToleranceFactor
Sets X coordinate tolerance to use when constructing table structure of PDF page.
Public propertyYCoordinateToleranceFactor
Sets Y coordinate tolerance to use when constructing table structure of PDF page.
Top
Methods
NameDescription
Public methodAddFilter(String, Boolean, Boolean)
Adds a filter to remove a text from extracted data.
Public methodAddFilter(String, Int32, Boolean)
Adds filter to exclude text objects with specified attributes.
Public methodAddFilter(String, Int32, Color, Boolean)
Adds filter to exclude text objects with specified attributes.
Public methodAddFilter(String, String, Boolean, Boolean)
Adds a filter to replace a text in extracted data.
Public methodAddFilter(String, Int32, Int32, Int32, Int32, Boolean)
Adds filter to exclude text objects with specified attributes.
Public methodDisposePage
Disposes the page object. Uses this method carefully to destroy the page object that should not be used further. Useful to free allocated memory when processing huge PDF documents.
Public methodGetPreprocessedPagePreview
Returns preview image of document page with preprocessing filters applied.
Public methodIsOCRRecommendedForPage
Detects whether OCR is recommended for specified page. OCR (Optical Character Recognition) is recommended when pages has no text objects bat has an image that might contain text.
(Inherited from IBaseOCRExtractor.)
Public methodResetFilters
Reset text filters.
Public methodSavePreprocessedPagePreview
Saves preview image of document page with preprocessing filters applied. Image is saved in PNG format.
Public methodSetCustomExtractionColumns
Helper method to set CustomExtractionColumns property when using the extractor though COM from VC++ VB, VBA, VBScript, or Delphi.
Top
See Also

Reference