galera, vocês saberiam me dizer qual o problema do meu código? ele está retornando esse erro:
05/05/2011 14:51:53 org.apache.pdfbox.util.PDFStreamEngine processEncodedText
AVISO: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Float
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Float
at org.apache.pdfbox.pdmodel.font.PDFont.getFontWidth(PDFont.java:786)
at org.apache.pdfbox.pdmodel.font.PDSimpleFont.getFontWidth(PDSimpleFont.java:191)
at org.apache.pdfbox.util.PDFStreamEngine.processEncodedText(PDFStreamEngine.java:357)
at org.apache.pdfbox.util.operator.ShowText.process(ShowText.java:45)
at org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:551)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:274)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:251)
at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:225)
at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:442)
at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:366)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:322)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:242)
at verificacaosimp.lerPDF.getConteudo(lerPDF.java:34)
at verificacaosimp.Main.main(Main.java:20)
Código:
import java.io.IOException;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
public class lerPDF {
private String endereco;
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getConteudo() {
File arquivoPDF = new File(this.endereco);
FileInputStream arquivo = null;
try {
arquivo = new FileInputStream(arquivoPDF);
} catch (IOException e) {
System.out.println("ERRO:" + e.getMessage());
return null;
}
PDDocument pdfDocument = null;
try {
PDFParser parser = new PDFParser(arquivo);
parser.parse();
pdfDocument = parser.getPDDocument();
PDFTextStripper stripper = new PDFTextStripper();
return stripper.getText(pdfDocument);
} catch (IOException e) {
return "ERRO: Não pode abrir o fluxo" + e;
} catch (Throwable e) {
return "ERRO: Ocorreu um erro ao obter o conteúdo do PDF" + e;
} finally {
if (pdfDocument != null) {
try {
pdfDocument.close();
} catch (IOException e) {
return "ERRO: Não pode fechar pdf" + e;
}
}
}
}
}
package verificacaosimp;
import java.io.IOException;
import jxl.read.biff.BiffException;
public class Main {
public static void main(String[] args) throws IOException, BiffException, ClassNotFoundException {
lerPDF lerpdf = new lerPDF();
String nomeArquivo = "Agro";
String nomeCaminho;
String conteudo;
int i = 1;
while (i <= 35) {
nomeCaminho = "C:/Users/cafe/Desktop/simposio/simposio 1/pdf/" + nomeArquivo + i + ".pdf";
lerpdf.setEndereco(nomeCaminho);
conteudo = lerpdf.getConteudo();
System.out.println(conteudo);
i++
}
}
}
