2014-03-19 86 views
-1

我有一些.doc和.pdf文件的文件,我的要求是從我將在運行時提供的.doc或.pdf文件中讀取一個特定的頁面。這可以通過逐頁閱讀和在每頁的結尾,如果我編號。但一些我得到一些文件編號是不是他們的,所以我怎麼能做到這一點?如何從doc或pdf文件中讀取特定頁面。

是他們的任何API或任何其他邏輯,以便我可以解決這個問題?

你好全部 我有.DOC文件,但我不應該讀取整個文件,而是我給了一個頁碼。 因此我只能從doc文件中讀取特定頁面。 我正在使用apache.poi api。

 file = new File("c://doc/assignment/afternoon_24.doc"); 
    FileInputStream fis=new FileInputStream(file.getAbsolutePath()); 

我需要讀取此文件的第X頁並寫入文本文件?

+0

關於pdf文件:有多個PDF庫,其中許多都允許從單個頁面提取文本。是否還有其他要求?許可證?預算?圖書館已經在使用? – mkl

+0

@mkl在我們的項目中,閱讀pdf是第二要求如何doc – loknath

回答

1

我想這是一個誤解:你不能簡單地將DOC(或PDF)作爲InputStream讀取並跳過頁面(除非你知道並評估fileformat)。 這兩個文件都有一個格式(將格式和元信息編碼爲一些二進制格式)。只要嘗試在記事本或其他純文本編輯器中打開PDF。你會看到它。

正如mkl建議:要訪問DOC(或PDF)的內容,您需要一個可以處理該文件格式的庫。例如,對於Microsoft Office格式,開放源代碼庫Apache POI,對於PDF,例如有PDF box等等,以及a full thread about it。每種具有不同功能和許可模式的格式都有不同的庫。