Python is architecturally quite different than Java in many ways. Therefore, using a Java library like PDFTextStream from within a Python application requires some bridge-building. While many “compatibility layers” have often disappointed in the past (especially with regard to performance), the integration approach embodied in PDFTextStream.Python results in Python developers being able to use PDFTextStream.Python as if it were a native Python module. Therefore, it is comprehensive, high-fidelity, and comes without significant developer effort, performance compromises, or API complications.
Learn what makes PDFTextStream the best >>
See PDFTextStream in action >>
Download PDFTextStream.Python >>
Using PDFTextStream.Python requires Python 2.3 or higher and the JPype Python module. JPype is an open source module that allows a Python process to transparently utilize Java components by embedding a Java virtual machine (JVM) instance within the host Python process.
(JPype is licensed under the liberal Apache License v2.0, making it possible to redistribute it with commercial products. Therefore, licensing PDFTextStream.Python for inclusion in your own product on an OEM basis is perfectly straightforward and poses no threat to your product's license.)

Figure 1 depicts the architecture involved when utilizing PDFTextStream.Python. Conceptually, this architecture is very straightforward:
Please refer to the PDFTextStream Developer's Guide for the proper installation procedure for PDFTextStream.Python.
Only two or three additional lines of code are necessary to initialize the JVM through JPype. After that, working with PDFTextStream.Python is at least as easy and straightforward as is working with PDFTextStream for Java or PDFTextStream.NET:
A more comprehensive example, with step-by-step explanations can be found in the PDFTextStream.Python section of the PDFTextStream Developer's Guide.