2

JPype を使用して Python から Apache Pdfbox を呼び出そうとしていますが、実際にクラスをインポートするのに苦労しています。クラスパスのjarファイルから読み込めないようです。

from jpype import java, startJVM, shutdownJVM, JPackage, JClass, getDefaultJVMPath, nio
import sys, os, codecs

pdfbox_lib = "lib/pdfbox-1.6.0.jar"
classpath = '-Djava.class.path=' + pdfbox_lib + os.pathsep + '.'

startJVM(getDefaultJVMPath(), '-Xmx512m', classpath)

stream = java.io.FileInputStream(java.io.File("test.pdf"))

pdfparser = JPackage('org.apache.pdfbox.pdfparser')
parser = JClass('org.apache.pdfbox.pdfparser.PDFParser')

この時点で、スクリプトは次のエラーを出力します。

java.lang.ExceptionPyRaisable: java.lang.Exception: Class org.apache.pdfbox.pdfparser.PDFParser not found

私は Linux で Python 2.7 を実行していますが、JPype のインストールに問題がないことはわかっています (存在する場合、ストリーム宣言でエラーが発生します)。また、クラス パス ステートメントと JPackage/JClass ステートメントのさまざまな順列を試しましたが、問題はないようです。どんな提案でも大歓迎です!

4

1 に答える 1

2

私はそれを考え出した。fontbox-x.x.x.jarクラスパスに 、jempbox-x.x.x.jar、およびの 3 つの追加の jar を追加する必要がありcommons-logging.jarます。

于 2011-07-20T18:55:50.643 に答える