2011-07-15 7 views
2

J'essaye d'utiliser JPype pour appeler Apache Pdfbox de Python, et j'ai du mal à importer les classes. Il ne semble pas être capable de les lire à partir du fichier jar dans le chemin de la classe.jpype + pdfbox classe non trouvée

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') 

À ce stade, les erreurs de script sur ce qui suit:

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

Je suis en cours d'exécution sur Linux avec Python 2.7, et je sais qu'il n'y a rien de mal avec l'installation de JPype (s'il y avait , la déclaration de flux ferait erreur). J'ai également essayé différentes permutations de l'instruction de chemin de classe et des instructions JPackage/JClass, et rien ne semble avoir d'importance. Toutes les suggestions seraient grandement appréciées!

Répondre

2

Je l'ai compris. Trois bocaux supplémentaires doivent être ajoutés au chemin de classe: fontbox-x.x.x.jar, jempbox-x.x.x.jar et commons-logging.jar.