Pessoal,
Estou tendo problemas para rodar uma aplicação usando PDFBox (versão 1.1.0)
Adicionei no classpath as libs pdfbox.jar, fontbox.jar e jempbox.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(BaseParser.java:58)
at lucene.PDFBoxPDFHandler.d(PDFBoxPDFHandler.java:29)
at lucene.PDFBoxPDFHandler.main(PDFBoxPDFHandler.java:53)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 3 more
Vendo este erro, adicionei a lib commons-logging.jar ao classpath (versão 1.1.1)
Após isto, a exceção muda paraException in thread "main" java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
at org.apache.pdfbox.pdmodel.PDDocument.openProtection(PDDocument.java:1098)
at org.apache.pdfbox.pdmodel.PDDocument.decrypt(PDDocument.java:579)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:235)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:180)
at lucene.PDFBoxPDFHandler.parse(PDFBoxPDFHandler.java:32)
at lucene.PDFBoxPDFHandler.main(PDFBoxPDFHandler.java:43)
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 6 more
Quais são as libs necessárias para o PDFBox funcinar?
Este é o código que fizpublic String parse(String caminho) {
try {
File arquivo = new File(caminho);
FileInputStream is = new FileInputStream(arquivo);
PDFParser parser = new PDFParser(is);
parser.parse();
COSDocument cosDocument = parser.getDocument();
PDDocument pdDocument = new PDDocument(cosDocument);
PDFTextStripper pdfTextStripper = new PDFTextStripper();
pdfTextStripper.setStartPage(1);
pdfTextStripper.setEndPage(2);
//PDDocumentInformation pddDocumentInformation = pdDocument.getDocumentInformation();
String conteudo = pdfTextStripper.getText(pdDocument);
return conteudo;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Valeu pela ajuda!
A seguinte exceção está sendo lançada ao usar o PDFBox