TextExtractor ClassByteScout PDF Extractor SDK
Represents PDF to Text extractor. Also able to extract text from PNG, JPEG, BMP and TIFF (single-page) images using Optical Character Recognition (OCR).
Inheritance Hierarchy

SystemObject
  Bytescout.PDFExtractorBaseExtractor
    Bytescout.PDFExtractorBaseTextExtractor
      Bytescout.PDFExtractorTextExtractor

Namespace:  Bytescout.PDFExtractor
Assembly:  Bytescout.PDFExtractor (in Bytescout.PDFExtractor.dll) Version: 13.4.1.4801-master
Syntax

public class TextExtractor : BaseTextExtractor, 
	ITextExtractor

The TextExtractor type exposes the following members.

Constructors

  NameDescription
Public methodTextExtractor
Initializes a new instance of the TextExtractor class.
Public methodTextExtractor(String, String)
Initializes a new instance of the TextExtractor class.
Top
Properties

  NameDescription
Public propertyAutoAlignColumnsToHeader
Sets whether to align text in the columns to the header.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
Public propertyColumnDetectionMode
Sets how columns are detected. Default is 'ContentGroupsAndBorders' - columns are detected by grouping of text objects and by vertical vector lines.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
Public propertyConsiderFontColors
Consider font colors in document text when detecting table structure. Default is false.
(Inherited from BaseTextExtractor.)
Public propertyConsiderFontNames
Consider font names in document text when detecting table structure. Default is false.
(Inherited from BaseTextExtractor.)
Public propertyConsiderFontSizes
Consider font sizes in document text when detecting table structure. Default is false.
(Inherited from BaseTextExtractor.)
Public propertyConsiderHorizontalBorders
Consider horizontal borders between text objects when detecting table structure and merging objects. Default is true.
(Inherited from BaseTextExtractor.)
Public propertyConsiderVerticalBorders
Consider vertical borders between text objects when detecting table structure and merging objects. Default is true.
(Overrides BaseTextExtractorConsiderVerticalBorders.)
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.
(Inherited from BaseTextExtractor.)
Public propertyDetectLinesInsteadOfParagraphs Obsolete.
Lines detection option. Obsolete: Use LineGroupingMode instead.
(Inherited from BaseTextExtractor.)
Public propertyDetectNewColumnBySpacesRatio
Space ratio between words. Large spacing is treated as column separator. Using this parameter you can control the column detection.
(Overrides BaseTextExtractorDetectNewColumnBySpacesRatio.)
Public propertyEmbeddedFileCount Obsolete.
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.
(Inherited from BaseTextExtractor.)
Public propertyEncrypted
Gets whether the document is encrypted.
(Inherited from BaseExtractor.)
Public propertyExtractAnnotations
Sets whether to extract text from annotation objects. Default is true.
(Inherited from BaseTextExtractor.)
Public propertyExtractColumnByColumn
Sets whether we should reconstruct table structure or extract text objects as they go in the PDF document stream. Default is true.
(Inherited from BaseTextExtractor.)
Public propertyExtractInvisibleText
Sets whether to extract invisible text from a PDF document.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
Public propertyFoundText
Public propertyFuzzySearch
Sets whether to use "fuzzy" text search algorithm. It allows to find "approximately equal" strings. For example, the search string "fox" will also find "fix" and "fax. This might be useful for compensation of some common OCR errors, like "paralle1" or "paralle|".
Public propertyFuzzySearchPermissibleErrors
Sets the string equality approximation for the fuzzy search algorithm. Simply, this is the number of permissible errors in the search string. Value 1 or 2 is okay, 3 is iffy, 4 is a poor match. Default is 1.
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).
(Inherited from BaseTextExtractor.)
Public propertyNormalizeText
Set whether the extracted text should be normalized. Default is false.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
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 BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyOCRCorrections
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyOCRDetectPageRotation
Sets whether to detect scanned page rotation. Slightly slows down the processing.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyOCRImagePreprocessingFilters
A set of corrections automatically applied to recognized text to fix repeating recognition errors.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyOCRLanguageDataFolder
Folder containing OCR language data files.
(Inherited from BaseTextExtractor.)
Public propertyOCRMaximizeCPUUtilization
Gets or sets maximum OCR performance using Intel OpenMP (if available) to accelerate to approximately 30%. Default is false.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyOCROverallConfidence
Gets overall OCR confidence. This value is calculated after the extraction is performed.
(Inherited from BaseTextExtractor.)
Public propertyOCRPageCount
Gets count of processed pages for which OCR was performed. This value is calculated after the extraction is finished.
(Inherited from BaseTextExtractor.)
Public propertyOCRResolution
Resolution of OCR (Optical Character Recognition). Default is 300 DPI.
(Inherited from BaseTextExtractor.)
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 BaseTextExtractor.)
Public propertyPageDataCaching
Controls page data caching behavior.
(Inherited from BaseExtractor.)
Public propertyPageSeparator
Sets the page separator character or string. Default is '\f' (Form Feed).
Public propertyPassword
PDF document password.
(Inherited from BaseExtractor.)
Public propertyPreserveFormattingOnTextExtraction
Sets whether to preserve the text formatting on the extraction.
(Inherited from BaseTextExtractor.)
Public propertyProfiles
Comma-separated list of profiles to apply to the extractor. Profiles must be previously loaded.
(Inherited from BaseExtractor.)
Public propertyRegexSearch
Sets whether to search the text using regular expressions.
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).
(Inherited from BaseTextExtractor.)
Public propertyRotationAngle
Sets whether to rotate document pages to specified angle before the extraction.
(Inherited from BaseTextExtractor.)
Public propertyRTLTextAutoDetectionEnabled
Enables RTL (Right-To-Left) text auto detection. Default is true.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
Public propertyTextAnalysisCorruptedTextThreshold
The criterion of detection of the corrupted text used in text analysis. Default is 0.5.
(Inherited from BaseTextExtractor.)
Public propertyTextAnalysisResults
Results of the text analysis. Enable the analysis using EnableTextAnalysis property.
(Inherited from BaseTextExtractor.)
Public propertyTextEncodingCodePage
Sets the default text encoding. Default encoding is "iso-8859-1".
(Inherited from BaseTextExtractor.)
Public propertyTrimSpaces
Sets whether to remove trailing and ending spaces from the text of table cells. Default is true.
(Overrides BaseTextExtractorTrimSpaces.)
Public propertyUnwrap
Sets whether to unwrap the contents of a multiline table cell into a single line. Default is true.
(Inherited from BaseTextExtractor.)
Public propertyVersion
Gets the component version number.
(Inherited from BaseExtractor.)
Public propertyWordMatchingMode
Sets the word matching mode (used in text search and automatic removal of hyphens). This option is ignored when regular expressions are enabled (when is true). In case of regular expressions, you should use '\b' metacharacter to specify word bounds.
Public propertyWordMatchingPunctuationMarks
Sets punctuation marks used by word matching. These marks are considered as a part of a word. Default are: ."'“”
Public propertyXCoordinateToleranceFactor
Sets X coordinate tolerance to use when constructing table structure of PDF page.
(Inherited from BaseTextExtractor.)
Public propertyYCoordinateToleranceFactor
Sets Y coordinate tolerance to use when constructing table structure of PDF page.
(Inherited from BaseTextExtractor.)
Top
Methods

  NameDescription
Public methodAddFilter(String, Boolean, Boolean)
Adds a filter to remove a text from extracted data.
(Inherited from BaseTextExtractor.)
Public methodAddFilter(String, Int32, Boolean)
Adds filter to exclude text objects with specified attributes.
(Inherited from BaseTextExtractor.)
Public methodAddFilter(String, Int32, Color, Boolean)
Adds filter to exclude text objects with specified attributes.
(Inherited from BaseTextExtractor.)
Public methodAddFilter(String, String, Boolean, Boolean)
Adds a filter to replace a text in extracted data.
(Inherited from BaseTextExtractor.)
Public methodAddFilter(String, Int32, Int32, Int32, Int32, Boolean)
Adds filter to exclude text objects with specified attributes.
(Inherited from BaseTextExtractor.)
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.
(Inherited from BaseTextExtractor.)
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodFind(Int32, String, Boolean)
Searches the document page for specified text.
Public methodFind(Int32, String, RegexOptions)
Searches the document page for specified text in Regex mode with specified options.
Public methodFindAll
Searches for all occurrences of specified text in specified document page or in entire document.
Public methodFindAllToJSON
Searches for all occurrences of specified text in specified document page or in entire document and returns result as JSON string.
Public methodFindNext
Continues the text search started by one of Find() methods.
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 methodGetPageTextAsVariant
Returns page text as array of bytes. This is COM/ActiveX-compatible version of the method SavePageTextToStream(Int32, Stream) for in-memory processing of PDF documents or images.
Public methodGetPreprocessedPagePreview
Returns preview image of document page with preprocessing filters applied.
(Inherited from BaseTextExtractor.)
Public methodGetText
Extracts text from whole document.
Public methodGetText(IListInt32)
Extracts text from specified pages.
Public methodGetText(String)
Extracts text from specified page ranges.
Public methodGetText(Int32, Int32)
Extracts text from specified page range.
Public methodGetTextAsVariant
Returns document text as array of bytes. This is COM/ActiveX-compatible version of the method SaveTextToStream(Stream) for in-memory processing of PDF documents or images.
Public methodGetTextAsVariant(String)
Returns document text as array of bytes. This is COM/ActiveX-compatible version of the method SaveTextToStream(String, Stream) for in-memory processing of PDF documents or images.
Public methodGetTextAsVariant(Int32, Int32)
Returns document text as array of bytes. This is COM/ActiveX-compatible version of the method SaveTextToStream(Int32, Int32, Stream) for in-memory processing of PDF documents or images.
Public methodGetTextFromPage
Extracts text from specified document page.
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.
(Inherited from BaseTextExtractor.)
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 (Inherited from BaseTextExtractor.)
Public methodReset
Resets the instance and disposes internal resources. Also automatically invoked by Dispose.
(Overrides BaseTextExtractorReset.)
Protected methodResetBaseExtractionData (Inherited from BaseTextExtractor.)
Public methodResetExtractionArea
Resets the extraction area to the full page.
(Inherited from BaseExtractor.)
Public methodResetFilters
Reset text filters.
(Inherited from BaseTextExtractor.)
Public methodSavePageTextToFile(Int32, String)
Saves page text to file.
Public methodSavePageTextToFile(Int32, String, Encoding)
Saves page text to file in specified encoding.
Public methodSavePageTextToStream(Int32, Stream)
Saves page text to stream.
Public methodSavePageTextToStream(Int32, Stream, Encoding)
Saves page text to stream in specified encoding.
Public methodSavePreprocessedPagePreview
Saves preview image of document page with preprocessing filters applied. Image is saved in PNG format.
(Inherited from BaseTextExtractor.)
Public methodSaveTextToFile(String)
Saves document text to file.
Public methodSaveTextToFile(IListInt32, String)
Saves text from specified pages to file.
Public methodSaveTextToFile(String, String)
Saves text from specified page ranges to file.
Public methodSaveTextToFile(String, Encoding)
Saves document text to file in specified encoding.
Public methodSaveTextToFile(IListInt32, String, Encoding)
Saves text from specified pages to file in specified encoding.
Public methodSaveTextToFile(Int32, Int32, String)
Saves text from specified page range to file.
Public methodSaveTextToFile(String, String, Encoding)
Saves text from specified page ranges to file in specified encoding.
Public methodSaveTextToFile(Int32, Int32, String, Encoding)
Saves text from specified page range to file in specified encoding.
Public methodSaveTextToStream(Stream)
Saves document text to stream.
Public methodSaveTextToStream(IListInt32, Stream)
Saves text from specified page range to stream.
Public methodSaveTextToStream(Stream, Encoding)
Saves document text to stream in specified encoding.
Public methodSaveTextToStream(String, Stream)
Saves text from specified page range to stream.
Public methodSaveTextToStream(IListInt32, Stream, Encoding)
Saves text from specified page range to stream in specified encoding.
Public methodSaveTextToStream(Int32, Int32, Stream)
Saves text from specified page range to stream.
Public methodSaveTextToStream(String, Stream, Encoding)
Saves text from specified page range to stream in specified encoding.
Public methodSaveTextToStream(Int32, Int32, Stream, Encoding)
Saves text from specified page range to stream in specified encoding.
Public methodSetCustomExtractionColumns
Helper method to set CustomExtractionColumns property when using the extractor though COM from VC++ VB, VBA, VBScript, or Delphi.
(Inherited from BaseTextExtractor.)
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