Прочитайте PDF, используя iText - PullRequest
6 голосов
/ 28 октября 2009

У меня проблема с чтением PDF-файлов с помощью iText в Java. Я могу прочитать только одну страницу, но когда я перехожу на вторую страницу, это дает исключение. Я хочу прочитать все страницы любого файла PDF.

PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf"));
parser.getTextFromPage(3);

Я использую эти строки и во второй строке выдает исключение.

Ответы [ 4 ]

2 голосов
/ 28 октября 2009
  1. Попробуйте изменить местоположение файла. Иногда ОС не позволяет читать файлы с одних системных дисков другими приложениями. Поместите где-нибудь в D: и т. Д. Я сталкиваюсь с этой проблемой в Vista при чтении файлов с рабочего стола.

  2. Я на самом деле запустил те же две строки кода в одном из моих PDF, и он напечатал текст. Также убедитесь, что у вас достаточно страниц в PDF. (3 страницы или более) или попробуйте с помощью parser.getTextFromPage (1) и т. Д. Получить содержимое с других страниц.

0 голосов
/ 23 февраля 2018
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;

/**
 * This class is used to read an existing
 *  pdf file using iText jar.
 * @author javawithease
 */
public class PDFReadExample {
  public static void main(String args[]){
    try {
    //Create PdfReader instance.
    PdfReader pdfReader = new PdfReader("D:\\testFile.pdf");    

    //Get the number of pages in pdf.
    int pages = pdfReader.getNumberOfPages(); 

    //Iterate the pdf through pages.
    for(int i=1; i<=pages; i++) { 
      //Extract the page content using PdfTextExtractor.
      String pageContent = 
        PdfTextExtractor.getTextFromPage(pdfReader, i);

      //Print the page content on console.
      System.out.println("Content on Page "
                          + i + ": " + pageContent);
      }

      //Close the PdfReader.
      pdfReader.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
  }
}
0 голосов
/ 29 октября 2009

Вы перестраиваете парсер и ридер для каждой операции? Вы можете сделать это, но это не очень эффективно (создание нового PdfReader сопряжено с большими расходами).

0 голосов
/ 28 октября 2009

когда вы говорите одну страницу, вы имеете в виду первую страницу? Вы могли неправильно индексировать страницы? Без дополнительной информации это может быть что угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...