PDFTextStream is a PDF text and metadata extraction library available for Java, Python, and .NET. It supports all versions of the PDF document specification, (including v1.7, used by Acrobat 8 and 9), extraction of text encoded using double-byte character sets (including Chinese, Japanese, and Korean), decryption of 40-bit and 128-bit encrypted documents, and extraction of all document metadata provided by PDF documents (including form data, bookmarks, and annotations). Easy integration with Jakarta Lucene is included, as well as interactive form update capability.
| Tags | Information Management Document Repositories Internet Web Indexing/Search Software Development Libraries Java Libraries PDF Java .NET |
|---|---|
| Operating Systems | Unix Windows Windows Windows Cygwin Mac OS X POSIX Solaris Linux HP-UX BSD OpenBSD NetBSD FreeBSD BSD/OS OS Independent |
| Implementation | Java .NET |
Recent releases


Release Notes: This release includes a variety of fixes made to ensure PDFTextStream is capable of extracting text from PDF documents that are nonconforming to the PDF specification. It also includes a variety of performance enhancements.


Release Notes: An .isStruckThrough() method was added to com.snowtide.pdf.TextUnit, indicating whether a character has a strikethrough drawn through it. PDFTextStream's support for embedded character mappings was improved. The calculation of whitespace between words has been fixed to properly account for whitespace that is explicitly encoded in the source PDF documents. PDFTextStream's handling of composite content encodings was improved, which previously could fail resulting in some ranges of PDF content being "ignored" during extraction.


Release Notes: This release adds support for extracting XFA forms data as XML. It significantly improves the performance of text extraction using VisualOutputTarget. Support for PDF documents larger than 2GB. A fix for a bug where the encodings from embedded Type1 fonts were previously not being applied properly in some circumstances. A fix for a problem where newer content in updated PDF documents was sometimes being ignored. A fix for a problem where PDFDocEncoding-encoded bookmarks and metadata were not being decoded properly. A .getDestinationName() method in com.snowtide.pdf.Bookmark.


Release Notes: Support was added for updating text, checkbox, radio button, and choice interactive form fields. Support was added for Kodak print job data extraction (%KDK commands) via com.snowtide.pdf.util.KodakPrintData. The AcroFormField.isReadOnly() function was exposed. ByteBuffer-based buildPDFDocument() functions were added to com.snowtide.pdf.lucene.PDFDocumentFactory. The documentation was improved significantly.


Release Notes: This release fixes handling of text spacing that was causing some columnated text to overrun column boundaries improperly. It fixes a problem where text from adjacent lines would be inappropriately intermingled. Unlicensed functionality has been changed so that evaluation use does not require a special evaluation license file; specifically, PDFTextStream will randomize some digits in text extracts when it is operating unlicensed, and the 8-page extract limitation has been removed.