我在使用iText閱讀PDF文件時遇到問題。我只能閱讀一個頁面,但是當我轉到第二頁時,它會給出異常。我想閱讀任何pdf文件的所有頁面。使用iText閱讀pdf
PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf"));
parser.getTextFromPage(3);
我正在使用這些行,並在第二行給出異常。
我在使用iText閱讀PDF文件時遇到問題。我只能閱讀一個頁面,但是當我轉到第二頁時,它會給出異常。我想閱讀任何pdf文件的所有頁面。使用iText閱讀pdf
PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf"));
parser.getTextFromPage(3);
我正在使用這些行,並在第二行給出異常。
嘗試更改文件位置。有時OS不允許其他應用程序從某些系統驅動器讀取文件。放在D的某處:等我在桌面上讀取文件時遇到Vista中的這個問題。
我實際上在我的一個PDF上運行了相同的兩行代碼,它確實打印了文本。另外請確保您在PDF中有足夠的頁面。 (3頁或更多)或嘗試用parser.getTextFromPage(1)等從其他頁面獲取內容。
謝謝老闆這是我的錯。再次感謝。 – Sunil 2009-10-28 15:42:06
當你說一個頁面,你的意思是第一頁?您可能會錯誤地將頁面編入索引?沒有更多的信息,它可能是任何東西。
PdfTextExtractor parser = new PdfTextExtractor(new PdfReader(「C:/Text.pdf」)); parser.getTextFromPage(3); 我正在使用這些行。這些給出了例外 – Sunil 2009-10-28 14:23:33
它給出了什麼例外? – 2009-10-28 14:28:20
java.io.IOException:未找到C:/Text.pdf作爲文件或資源。 at com.lowagie.text.pdf.RandomAccessFileOrArray。
您是否正在爲每個操作重新構建解析器和閱讀器?你可以這樣做,但效率不高(創建一個新的PdfReader有很多開銷)。
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();
}
}
}
請列出你得到的例外,因爲沒有這個沒有任何信息可以繼續下去。 – 2009-10-28 14:16:35