jpype+pdfbox 类未找到

2 投票
1 回答
1029 浏览
提问于 2025-04-16 21:37

我正在尝试使用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声明组合,但似乎都没有用。任何建议都将非常感谢!

1 个回答

2

我搞明白了。需要在类路径中添加三个额外的jar包:fontbox-x.x.x.jarjempbox-x.x.x.jarcommons-logging.jar

撰写回答