2009-10-28 27 views
6

Mam problem z odczytaniem plików pdf za pomocą iText w java. Mogę przeczytać tylko jedną stronę, ale kiedy przejdę na drugą stronę, daje ona wyjątek. Chcę przeczytać wszystkie strony każdego pliku pdf.Przeczytaj pdf za pomocą iText

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

Używam tych linii i na drugiej linii daje wyjątek.

+2

Proszę wymienić wyjątek, ponieważ bez niego nie ma informacji do kontynuowania. –

Odpowiedz

2
  1. Spróbuj zmienić lokalizację pliku. Czasami system operacyjny nie pozwala na odczytanie pliku z niektórych dysków systemowych przez inne aplikacje. Umieszczony gdzieś w D: itd. Mam do czynienia z tym problemem w Vista podczas odczytu plików z pulpitu.

  2. Tak naprawdę uruchomiłem te same dwa wiersze kodu na jednym z moich plików PDF i wydrukowałem tekst. Upewnij się również, że masz wystarczającą liczbę stron w pliku PDF. (3 strony lub więcej) lub spróbuj z parser.getTextFromPage (1) itp., Aby uzyskać zawartość z innych stron.

+0

Dzięki szefie To moja wina. Jeszcze raz dziękuję. – Sunil

0

kiedy mówisz jedną stronę, masz na myśli pierwszą stronę? możesz nieprawidłowo indeksować strony? Bez dodatkowych informacji może to być cokolwiek.

+0

PdfTextExtractor parser = new PdfTextExtractor (nowy PdfReader ("C:/Text.pdf")); parser.getTextFromPage (3); Używam tych linii. Dają one wyjątek – Sunil

+0

Co to za wyjątek? –

+0

java.io.IOException: C:/Text.pdf nie znaleziono jako plik lub zasób. w com.lowagie.text.pdf.RandomAccessFileOrArray. (Nieznane źródło) w com.lowagie.text.pdf.RandomAccessFileOrArray. (Nieznane źródło) w com.lowagie.text.pdf.PRTokeniser. (Nieznane źródło) w com.lowagie.text.pdf.PdfReader. (Nieznane źródło) w com.lowagie.text.pdf.PdfReader. (Unknown Source) na test1.ReadPdf.read (ReadPdf.java:23) na test1.ReadPdf.main (ReadPdf.java:55) – Sunil

0

Czy ponownie tworzysz parser i czytnik dla każdej operacji? Możesz to zrobić, ale nie jest to zbyt efektywne (dużo kosztów związanych z tworzeniem nowego PdfReader).

0
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(); 
    } 
    } 
} 
Powiązane problemy