Link Search Menu Expand Document

BaseTextExtractor Class

Defines a base class for text-related PDF extractors.
Inheritance Hierarchy
SystemObject
Bytescout.PDFExtractorBaseExtractor
Bytescout.PDFExtractorBaseTextExtractor
More...

Namespace:Bytescout.PDFExtractor
Assembly: Bytescout.PDFExtractor (in Bytescout.PDFExtractor.dll) Version: 13.4.0.4760-master
Syntax
public abstract class BaseTextExtractor : BaseExtractor, 
	IBaseTextExtractor, IBaseOCRExtractor

The BaseTextExtractor type exposes the following members.

Constructors
NameDescription
Protected methodBaseTextExtractor
Constructs the object.
Protected methodBaseTextExtractor(String, String)
Constructs the object and sets registration name and key.
Top
Properties
NameDescription
Public propertyAutoAlignColumnsToHeader
Sets whether to align text in the columns to the header.
Public propertyCheckPermissions
Defines whether to respect permissions set by document owner. If True, extractor throws exception when the extraction is prohibited. IMPORTANT: THIS OPTION HAVE TO BE ENABLED AND SET TO "TRUE" TO RESPECT OWNERS OF PDF DOCUMENTS. IF YOU SET IT TO FALSE TO IGNORE PERMISSIONS WHICH ARE SET IN PDF DOCUMENT THEN YOU ARE SOLELY LIABLE FOR THIS ACTION AND ANY COPYRIGHT OR OTHER VIOLATIONS AT YOUR OWN RISK. BYTESCOUT IS NOT LIABLE FOR ANY DAMAGES, LOSSES, COPYRIGHT INFRINGEMENTS OR ANY OTHER CONSEQUENCES CAUSED BY IGNORING PERMISSIONS OF PDF DOCUMENT. BY CHANGING THIS OPTION YOU ARE CONFIRMING YOU ARE UNDERSTANDING ALL WRITTEN ABOVE AND DOING IT AT YOUR OWN RISK.
(Inherited from BaseExtractor.)
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 propertyComHelpers
Set of utility functions and properties to use from COM/ActiveX.
(Inherited from BaseExtractor.)
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 propertyContentType
Returns content type of PDF document: normal document, portfolio or XFA form. To extract files from PDF portfolio use AttachmentExtractor class. To extract XFA form content use XFAFormExtractor class.
(Inherited from BaseExtractor.)
Public propertyCustomExtractionColumns
Allows to override automatic columns detection with custom columns coordinates.
Public propertyDetectLinesInsteadOfParagraphsObsolete.
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 propertyEmbeddedFileCountObsolete.
Property is disabled to speed up the document loading. Use AttachmentExtractor to work with attachments.
(Inherited from BaseExtractor.)
Public propertyEnableTextAnalysis
Enables or disables extracted text analysis. Check TextAnalysisResults after the extraction for analysis results.
Public propertyEncrypted
Gets whether the document is encrypted.
(Inherited from BaseExtractor.)
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 propertyExtractionArea
Sets the extraction area by coordinates and dimensions (left, top, width, height).
(Inherited from BaseExtractor.)
Public propertyExtractionAreaRect
Sets the extraction area by rectangle.
(Inherited from BaseExtractor.)
Public propertyExtractionAreaUsageMode
Gets or sets how to use the ExtractionArea: whether to extract any object intersecting with the area or only objects completely located inside the area.
(Inherited from BaseExtractor.)
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 propertyIsDocumentLoaded
Get the document loaded state.
(Inherited from BaseExtractor.)
Public propertyLicenseInfo
Gets license information.
(Inherited from BaseExtractor.)
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.
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.
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.
Public propertyOCRCorrections
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
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.
Public propertyOCRDetectPageRotation
Sets whether to detect scanned page rotation. Slightly slows down the processing.
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).
Public propertyOCRImagePreprocessingFilters
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
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.

Public propertyOCRLanguageDataFolder
Folder containing OCR language data files.
Public propertyOCRMaximizeCPUUtilization
Gets or sets maximum OCR performance using Intel OpenMP (if available) to accelerate to approximately 30%. Default is false.
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.

Public propertyOCROverallConfidence
Gets overall OCR confidence. This value is calculated after the extraction is performed.
Public propertyOCRPageCount
Gets count of processed pages for which OCR was performed. This value is calculated after the extraction is finished.
Public propertyOCRResolution
Resolution of OCR (Optical Character Recognition). Default is 300 DPI.
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.
Public propertyPageDataCaching
Controls page data caching behavior.
(Inherited from BaseExtractor.)
Public propertyPassword
PDF document password.
(Inherited from BaseExtractor.)
Public propertyPreserveFormattingOnTextExtraction
Sets whether to preserve the text formatting on the extraction.
Public propertyProfiles
Comma-separated list of profiles to apply to the extractor. Profiles must be previously loaded.
(Inherited from BaseExtractor.)
Public propertyRegistrationKey
Registration key.
(Inherited from BaseExtractor.)
Public propertyRegistrationName
Registration name.
(Inherited from BaseExtractor.)
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 propertyVersion
Gets the component version number.
(Inherited from BaseExtractor.)
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 methodCreateProfile(String, Boolean, Boolean, Boolean)
Creates JSON profile will all extractor properties with current values.
(Inherited from BaseExtractor.)
Public methodCreateProfile(String, String, Boolean, Boolean, Boolean)
Creates JSON profile will all extractor properties with current values.
(Inherited from BaseExtractor.)
Public methodDispose
Releases the unmanaged resources used by the instance and optionally releases the managed resources.
(Inherited from BaseExtractor.)
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 methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Protected methodFireParsingError (Inherited from BaseExtractor.)
Protected methodFireProgressChanged (Inherited from BaseExtractor.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetPageCount
Returns document page count.
(Inherited from BaseExtractor.)
Public methodGetPageRect_Height
Gets the specified page height.
(Inherited from BaseExtractor.)
Public methodGetPageRect_Left
Gets the specified page left coordinate.
(Inherited from BaseExtractor.)
Public methodGetPageRect_Top
Gets the specified page top coordinate.
(Inherited from BaseExtractor.)
Public methodGetPageRect_Width
Gets the specified page width.
(Inherited from BaseExtractor.)
Public methodGetPageRectangle(Int32)
Gets the page rectangle in PDF Points (1 Point = 1/72 in.).
(Inherited from BaseExtractor.)
Public methodGetPageRectangle(Int32, Boolean)
Gets the page rectangle in PDF Points (1 Point = 1/72 in.).
(Inherited from BaseExtractor.)
Public methodGetPageRotationAngle
Returns the rotation angle of specified page.
(Inherited from BaseExtractor.)
Public methodGetPreprocessedPagePreview
Returns preview image of document page with preprocessing filters applied.
Public methodGetType (Inherited from Object.)
Public methodIsEncrypted
Gets the document encrypted state.
(Inherited from BaseExtractor.)
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.
Public methodLoadAndApplyProfiles
Loads profiles from JSON string and automatically applies them. Note that profiles containing detection keywords will be deferred until the extraction.
(Inherited from BaseExtractor.)
Public methodLoadDocumentFromFile
Loads PDF document from specified file.
(Inherited from BaseExtractor.)
Public methodLoadDocumentFromStream
Loads PDF document from provided stream.
(Inherited from BaseExtractor.)
Public methodLoadDocumentFromVariant
Loads PDF document from byte array presented as array of Variant or Byte objects ('Variant()' or 'Byte()'). This is COM/ActiveX-compatible version of the method LoadDocumentFromStream(Stream) for in-memory processing of PDF files.
(Inherited from BaseExtractor.)
Public methodLoadProfiles
Loads profiles from JSON file.
(Inherited from BaseExtractor.)
Public methodLoadProfilesFromString
Loads profiles from JSON string.
(Inherited from BaseExtractor.)
Protected methodMemberwiseClone (Inherited from Object.)
Protected methodPerformTextAnalysis
Public methodReset
Resets the instance and disposes internal resources. Also automatically invoked by Dispose.
(Overrides BaseExtractorReset.)
Protected methodResetBaseExtractionData
Public methodResetExtractionArea
Resets the extraction area to the full page.
(Inherited from BaseExtractor.)
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.
Public methodSetExtractionArea(RectangleF)
Sets the extraction area by rectangle.
(Inherited from BaseExtractor.)
Public methodSetExtractionArea(Double, Double, Double, Double)
Sets the extraction area by coordinates and dimensions.
(Inherited from BaseExtractor.)
Public methodSetExtractionArea(Single, Single, Single, Single)
Sets the extraction area by coordinates and dimensions.
(Inherited from BaseExtractor.)
Public methodToString (Inherited from Object.)
Top
Events
NameDescription
Public eventParsingError
Raised on PDF document parsing errors. This usually indicates a damaged document.
(Inherited from BaseExtractor.)
Public eventPasswordRequired
Occurs when the password required to decrypt the document.
(Inherited from BaseExtractor.)
Public eventProgressChanged
Raised for each reported progress value. Allows to cancel the processing.
(Inherited from BaseExtractor.)
Top
Fields
NameDescription
Protected fieldExtractionAreaInternal (Inherited from BaseExtractor.)
Top
See Also

Reference

Inheritance Hierarchy
SystemObject
Bytescout.PDFExtractorBaseExtractor
Bytescout.PDFExtractorBaseTextExtractor
Bytescout.PDFExtractorCSVExtractor
Bytescout.PDFExtractorJSONExtractor
Bytescout.PDFExtractorStructuredExtractor
Bytescout.PDFExtractorTableDetector
Bytescout.PDFExtractorTextExtractor
Bytescout.PDFExtractorXFDFExtractor
Bytescout.PDFExtractorXLSExtractor
Bytescout.PDFExtractorXMLExtractor