用iText一次解析所有PDF页面



我试图用" ittext "解析pdf文件。我试图实现的是一次解析所有页面。

try {
            PdfReader reader = new PdfReader("D:\hl_sv\L04MF.pdf");
            int pages = reader.getNumberOfPages();
            String content = "";
            for (int i = 0; i <= pages; i++) {
                    System.out.println("============PAGE NUMBER " + i + "=============" );
                    content = content + " " +      PdfTextExtractor.getTextFromPage(reader, i);
            }
            System.out.println(content);
    } 

我得到这个错误:

Exception in thread "main" java.lang.NullPointerException
    at com.itextpdf.text.pdf.parser.PdfReaderContentParser.processContent(PdfReaderContentParser.java:77)
    at com.itextpdf.text.pdf.parser.PdfTextExtractor.getTextFromPage(PdfTextExtractor.java:74)
    at com.itextpdf.text.pdf.parser.PdfTextExtractor.getTextFromPage(PdfTextExtractor.java:89)
    at com.pdf.PDF.main(PDF.java:18)

我面临的另一个问题是-连字符被解析为?问号。我怎样才能解决这个问题呢?

谢谢你的帮助。

编辑它对我来说是这样的,但我仍然不能解决连字符错误。

try {
            PdfReader reader = new PdfReader("D:\hl_sv\L04MF.pdf");
            int pages = reader.getNumberOfPages();
            for(int i = 1; i<= pages; i++) {
                    System.out.println("============PAGE NUMBER " + i + "=============" );
                    String line = PdfTextExtractor.getTextFromPage(reader,i);
                    System.out.println(line);
                }
    }
public static String extractPdfText() throws IOException {
  PdfReader pdfReader = new PdfReader("/path/to/file/myfile.pdf");
  int pages = pdfReader.getNumberOfPages();
  String pdfText = "";
  for (int ctr = 1; ctr < pages + 1; ctr++) {
    pdfText += PdfTextExtractor.getTextFromPage(pdfReader, ctr); // Page number cannot be 0 or will throw NPE
  }
  pdfReader.close();
  return pdfText;
}

最新更新