2009-10-28 77 views
6

javaでiTextを使用してPDFファイルを読む際に問題が発生しています。私は1ページだけを読むことができますが、2ページ目に行くと例外が出ます。私はPDFファイルのすべてのページを読んでいます。iTextを使用してpdfを読む

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

私はこれらの行を使用しており、2行目で例外があります。

+2

この例外が表示されない場合は、これ以上の情報はありません。 –

答えて

2
  1. ファイルの場所を変更してみてください。 OSによっては、他のアプリケーションによって一部のシステムドライブからファイルが読み取られないことがあります。 D:などのどこかに置いてください。デスクトップからファイルを読むときにVistaでこの問題に直面します。

  2. 私は実際に私のPDFの1つで同じ2行のコードを実行し、テキストを印刷しました。また、PDFに十分なページがあることを確認してください。 (3ページ以上)、parser.getTextFromPage(1)などで他のページからコンテンツを取得してみてください。

+0

ありがとうございます。これは私のせいです。もう一度ありがとう。 – Sunil

0

1ページと言うと、最初のページを意味しますか?ページを誤って索引付けしている可能性がありますか?それ以上の情報がなければ何でもかまいません。

+0

PdfTextExtractor parser = new PdfTextExtractor(新しいPdfReader( "C:/Text.pdf")); parser.getTextFromPage(3); 私はこれらの行を使用しています。これらは例外を与えます – Sunil

+0

それは何の例外ですか? –

+0

java.io.IOException:C:/Text.pdfがファイルまたはリソースとして見つかりません。 at com.lowagie.text.pdf.RandomAccessFileOrArray (不明な情報源) at com.lowagie.text.pdf.RandomAccessFileOrArray (不明な情報源) (com.lowagie.text.pdf.PRTokeniser) (不明な情報源) (com.lowagie.text.pdf.PdfReader) (不明な情報源) (com.lowagie.text.pdf.PdfReader) (不明なソース)test1.ReadPdf.read(ReadPdf.java:23)で test1.ReadPdf.main(ReadPdf.java:55)で – Sunil

0

操作ごとにパーサーとリーダーを再構成していますか?あなたはそれを行うことができますが、非常に効率的ではありません(新しい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(); 
    } 
    } 
} 
関連する問題