Exceção sendo lançada ao usar PDFBox

1 resposta
rafael.espiritosanto

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

Ao executar um código simples, é lançada a seguinte exceção
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 para
Exception 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 fiz
public 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

1 Resposta

E

http://www.bouncycastle.org

Criado 7 de abril de 2010
Ultima resposta 8 de abr. de 2010
Respostas 1
Participantes 2