2009-10-28 13 views
6

Tengo problemas para leer archivos PDF usando iText en java. Solo puedo leer una página, pero cuando voy a la segunda, da una excepción. Quiero leer todas las páginas de cualquier archivo pdf.Lea el pdf usando iText

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

Estoy utilizando estas líneas y en la segunda línea da excepción.

+2

Indique la excepción que obtiene ya que sin esto no hay información para continuar. –

Respuesta

2
  1. Intente cambiar la ubicación del archivo. A veces, el sistema operativo no permite que otras aplicaciones lean el archivo desde algunas unidades del sistema. Poner en algún lugar en D: etc. Me enfrento a este problema en Vista al leer archivos desde el escritorio.

  2. De hecho, ejecuté las mismas dos líneas de código en uno de mis PDF e imprimí el texto. También asegúrese de tener suficientes páginas en el PDF. (3 páginas o más) o prueba con parser.getTextFromPage (1) etc. para obtener contenido de otras páginas.

+0

Gracias jefe Esto es mi culpa. Gracias una vez más. – Sunil

0

cuando dices una página, ¿te refieres a la primera página? es posible que indexe las páginas incorrectamente? Sin más información podría ser cualquier cosa.

+0

PdfTextExtractor parser = new PdfTextExtractor (nuevo PdfReader ("C: /Text.pdf")); parser.getTextFromPage (3); Estoy usando estas líneas. Estos dan la excepción – Sunil

+0

¿Qué excepción es que da? –

+0

java.io.IOException: C: /Text.pdf no se encuentra como archivo o recurso. en com.lowagie.text.pdf.RandomAccessFileOrArray. (Fuente desconocida) en com.lowagie.text.pdf.RandomAccessFileOrArray. (Fuente desconocida) en com.lowagie.text.pdf.PRTokeniser. (Fuente desconocida) en com.lowagie.text.pdf.PdfReader. (Fuente desconocida) en com.lowagie.text.pdf.PdfReader. (origen desconocido) en test1.ReadPdf.read (ReadPdf.java:23) en test1.ReadPdf.main (ReadPdf.java:55) – Sunil

0

¿Está reconstruyendo el analizador y el lector para cada operación? Puede hacerlo, pero no es muy eficiente (hay muchos gastos generales al crear un nuevo 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(); 
    } 
    } 
} 
Cuestiones relacionadas