класс jpype + pdfbox не найден - PullRequest
2 голосов
/ 15 июля 2011

Я пытаюсь использовать JPype для вызова Apache Pdfbox из Python, и у меня возникают трудности с импортом классов. Кажется, он не может прочитать их из файла 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 голосов
/ 20 июля 2011

Я понял это.К пути к классам необходимо добавить три дополнительных банок: fontbox-x.x.x.jar, jempbox-x.x.x.jar и commons-logging.jar.

...