我正在使用Eclipse和iText读取PDF文档,以提取所有文本并将该文本写入文件。

我正在使用这段代码从pdf中提取文本。

PdfReader reader = new PdfReader("pdftotext.pdf");
PdfTextExtractor extractor = new PdfTextExtractor(reader);
int pagenumber = reader.getNumberOfPages();
for(int i = 1; i<= pagenumber; i++) {
    System.out.println("============PAGE NUMBER " + i + "=============" );
    String line = extractor.getTextFromPage(i);
    System.out.println(line);
}


但是我在这条线上出现错误-> PdfTextExtractor extractor = new PdfTextExtractor(reader);

我应该能够使用PdfTextExtractor,但是它给了我一个控制台错误:


  The constructor PdfTextExtractor(PdfReader) is undefined

最佳答案

PdfTextExtractor class没有公共构造函数。但是,您可以这样编写代码:

PdfReader reader = new PdfReader(SRC);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
      System.out.println("============PAGE NUMBER " + i + "=============" );
      System.out.println(PdfTextExtractor.getTextFromPage(reader, i));
}


为了完善起见,由于不赞成使用iText 5(上面的代码),因此这里是完全相同的代码,但对于iText 7(相同的类-PdfTextExtractor):

PdfDocument document = new PdfDocument(new PdfReader(SRC));

for (int i = 1; i <= document.getNumberOfPages(); i++) {
    System.out.println("============PAGE NUMBER " + i + "=============" );
    System.out.println(PdfTextExtractor.getTextFromPage(document.getPage(i)));
}

关于java - itext PdfTextExtractor构造函数未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58523271/

10-12 06:13