PdfReader reader = new PdfReader(new FileInputStream(fpath));我们可以定义阅读器在这个type.This是为所有的PDF文件。我只需要为一个页面定义这个阅读器。例如,只需10。页的PDF文件。
我们可以一页一页地阅读来获得文本,但我需要这样做才能获得图像。
TextExtractionStrategy strategy;
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= reader.getNumberOfPages(); i++)
{
strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
strW.write(strategy.getResultantText());
sb.append(strW.toString);
}发布于 2016-05-22 19:20:52
请查阅官方文档并搜索selectPages。selectPages()方法将PdfReader实例缩减为所选内容中列出的页面。
例如,如果您希望将PdfReader实例限制为第10页,则可以使用以下行:
reader.selectPages("10");更新
你声称上面的并没有回答你的问题。如果这是真的,那么请重新表述你的问题,因为我想不出对你的问题的另一种解释。
也许正如Amedee在他的评论中指出的那样,可能存在语言问题,但我认为这个问题与对PDF的一些误解有关。PDF文件是一系列对象。这些对象列在交叉引用表中。任何读取PDF的软件都需要从文件的末尾开始,在那里它会找到尾部字典。此尾部字典将通过编号引用根字典。查看器将在交叉引用表中查找对象,并在目录中查找页面字典。页面字典包含一个树结构:页面树。PDF阅读器将在页面树中移动,并为每个页面查找页面字典。页面字典将包含对呈现页面所需的所有资源的引用:内容流、字体引用、图像等。这些对象(页面字典、流、字体字典等)可以在整个文件中找到(在开头、中间、结尾)。它们的顺序与页面的顺序不同。交叉引用表知道这些对象中每个对象的字节偏移量。
如果你知道这一点,你就会知道任何询问“我想通过分离特定数量的连续字节来只读PDF的一页”的问题都是一个揭示了对PDF严重缺乏理解的问题。
https://stackoverflow.com/questions/37372420
复制相似问题