7
votes

Lire pdf en utilisant iText

Je reçois problème pour lire des fichiers PDF à l'aide d'ITEXT en Java. Je ne peux lire qu'une seule page, mais quand je vais à la deuxième page, il donne une exception.Je veux lire toutes les pages de n'importe quel fichier PDF.

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


1 commentaires

Veuillez indiquer l'exception que vous obtenez comme sans cela, il n'y a aucune information pour continuer.


4 Réponses :


0
votes

Lorsque vous dites une page, voulez-vous dire la première page? Vous pouvez indexer les pages de manière incorrecte? Sans plus d'informations, cela pourrait être quelque chose.


4 commentaires

PDFTextExtractor parser = nouveau pdftextXtractor (nouveau pdfreader ("c: /text.pdf")); parser.gettextfrompage (3); J'utilise ces lignes. Celles-ci donnent une exception


Quelle exception est-elle que cela donne?


java.io.ioException: c: /text.pdf non trouvé comme fichier ou ressource. à com.lowagie.text.pdf.randomAccessfileorarray. (source inconnue) à com.lowagie.text.pdf.randomAccessfileorarray. (source inconnue) à com.lowagie.text.pdf.prtengeniser. (Source inconnue) à com.lowagie.text.pdf.pdfreader. (source inconnue) à com.lowagie.text.pdf.pdfreader. (source inconnue) à Test1.readpdf.read (Readpdf.java : 23) à Test1.readpdf.main (Readpdf.java:55)


C'est la méthode annulation publique Lecture () {Essaye {PDFextextXtractor parser = nouveau pdftextXtractor (nouveau pdfreader ("c: /text.pdf")); System.out.println (parser.gettextfrompage (3)); } attraper (exception ex) {ex.printstacktrace (); }}



2
votes
  1. essayez de changer l'emplacement du fichier. Parfois, le système d'exploitation n'autorise pas le fichier à lire à partir de certains lecteurs système par d'autres applications. Mettez quelque part dans D: etc. Je suis confronté à ce problème dans Vista lors de la lecture de fichiers du bureau.

  2. I En fait, j'ai réalisé les mêmes deux lignes de code sur l'un de mes PDF et qu'il imprimait le texte. Assurez-vous également que vous avez suffisamment de pages dans le PDF. (3 pages ou plus) ou essayer avec parser.getextFrompage (1) et obtenir du contenu d'autres pages.


1 commentaires

Merci patron c'est ma faute. Encore merci.



0
votes

Construisez-vous l'analyseur et le lecteur pour chaque opération? Vous pouvez faire cela, mais ce n'est pas très efficace (il y a beaucoup de frais généraux avec la création d'une nouvelle PDFreader).


0 commentaires

0
votes
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 commentaires