2014-03-19 119 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。每种具有不同功能和许可模式的格式都有不同的库。