2009-10-28 19 views
6

Ho problemi a leggere i file pdf usando iText in java. Posso leggere solo una pagina, ma quando vado in seconda pagina dà un'eccezione. Voglio leggere tutte le pagine di qualsiasi file pdf.Leggi pdf usando iText

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

Sto usando queste righe e alla seconda riga fa eccezione.

+2

Si prega di elencare l'eccezione si ottiene come senza questo non ci sono informazioni per andare avanti. –

risposta

2
  1. Provare a modificare il percorso del file. A volte il sistema operativo non consente la lettura del file da alcune unità del sistema da parte di altre applicazioni. Da qualche parte in D: ecc. Affronto questo problema in Vista durante la lettura dei file dal desktop.

  2. Ho infatti eseguito le stesse due righe di codice su uno dei miei PDF e ha stampato il testo. Assicurati inoltre di avere pagine sufficienti nel PDF. (3 pagine o più) o provare con parser.getTextFromPage (1) ecc. Per ottenere il contenuto da altre pagine.

+0

Grazie capo È colpa mia. Grazie ancora. – Sunil

0

quando dici una pagina, intendi la prima pagina? potresti indicizzare le pagine in modo errato? Senza ulteriori informazioni potrebbe essere qualsiasi cosa.

+0

PdfTextExtractor parser = new PdfTextExtractor (new PdfReader ("C: /Text.pdf")); parser.getTextFromPage (3); Sto usando queste linee. Questi dà l'eccezione – Sunil

+0

Che eccezione è che dà? –

+0

java.io.IOException: C: /Text.pdf non trovato come file o risorsa. in com.lowagie.text.pdf.RandomAccessFileOrArray. (sorgente sconosciuta) in com.lowagie.text.pdf.RandomAccessFileOrArray. (sorgente sconosciuta) in com.lowagie.text.pdf.PRTokeniser. (sorgente sconosciuta) in com.lowagie.text.pdf.PdfReader. (sorgente sconosciuta) in com.lowagie.text.pdf.PdfReader. (Fonte sconosciuta) a test1.ReadPdf.read (ReadPdf.java:23) a test1.ReadPdf.main (ReadPdf.java:55) – Sunil

0

Ricostruisci il parser e il lettore per ogni operazione? Puoi farlo, ma non è molto efficiente (c'è un sacco di spese generali con la creazione di un nuovo 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(); 
    } 
    } 
} 
Problemi correlati