Java 如何使用iText从pdf文件中提取数据
我正在开发一个从PDF文件中提取数据的程序,我正在使用iText作为java库。当我尝试使用此方法打开文件时:Java 如何使用iText从pdf文件中提取数据,java,itext,Java,Itext,我正在开发一个从PDF文件中提取数据的程序,我正在使用iText作为java库。当我尝试使用此方法打开文件时: public static void main(String[] args) { try { // TODO code application logic here PdfReader pr=new FdfReader("C:\\Users\\saviour\\Desktop\\doc308-999.pdf"); String
public static void main(String[] args) {
try {
// TODO code application logic here
PdfReader pr=new FdfReader("C:\\Users\\saviour\\Desktop\\doc308-999.pdf");
String str=PdfTextExtractor.getTextFromPage(pr, 2);
System.out.println(str);
} catch (IOException ex) {
Logger.getLogger(PDFTests.class.getName()).log(Level.SEVERE, null, ex);
}
}
我有一个错误:
com.itextpdf.text.exceptions.InvalidPdfException: FDF header signature not found.
at com.itextpdf.text.pdf.PRTokeniser.checkFdfHeader(PRTokeniser.java:215)
at com.itextpdf.text.pdf.FdfReader.readPdf(FdfReader.java:95)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:169)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:158)
at com.itextpdf.text.pdf.FdfReader.<init>(FdfReader.java:63)
at pdftests.PDFTests.main(PDFTests.java:39)
com.itextpdf.text.exceptions.InvalidPdfException:未找到FDF标头签名。
请访问com.itextpdf.text.pdf.PRTokeniser.checkFdfHeader(PRTokeniser.java:215)
请访问com.itextpdf.text.pdf.FdfReader.readPdf(FdfReader.java:95)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:169)
请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:158)
www.com.itextpdf.text.pdf.FdfReader.(FdfReader.java:63)
位于pdftests.pdftests.main(pdftests.java:39)
所以我想问一下这个例外的目的:)
谢谢各位。您尝试加载的pdf文件可能不是pdf文件。或者它不包含FDF表单。请阅读上面的javadoc 您可以尝试以下代码更改并获得预期结果。
Change
PdfReader pr=new-FdfReader(“C:\\Users\\saviour\\Desktop\\doc308-999.pdf”)代码>
到PdfReader pr=newpdfreader(“C:\\Users\\saviour\\Desktop\\doc308-999.pdf”)代码>
参考资料:
尝试更改文件位置。有时操作系统不允许其他应用程序从某些系统驱动器读取文件。放在D:等的某个地方
还要确保PDF中有足够的页面。(在阅读第二页后至少有2页)或尝试使用parser.getTextFromPage(1)
等从其他页面获取内容
你可以再看看