Android:我如何为 iText 中的一页定义 Reader
Android: How can i define Reader only for One Page in iText
PdfReader reader = new PdfReader(new FileInputStream(fpath));
我们可以在这个 type.This 中定义 reader 用于所有 PDF 文件。我只需要为一页定义此 reader。例如,仅 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);
}
请查阅官方文档并搜索selectPages。 selectPages()
方法将 PdfReader
实例缩减为您选择中列出的页面。
例如,如果您想将 PdfReader
实例限制为第 10 页,您可以使用此行:
reader.selectPages("10");
更新
您声称以上内容没有回答您的问题。如果那是真的,那么请重新表述你的问题,因为我想不出对你的问题的另一种解释。
正如 Amedee 在他的评论中指出的那样,可能存在语言问题,但我认为该问题与对 PDF 的一些误解有关。 PDF 文件是一系列对象。这些对象列在交叉引用 table 中。任何读取 PDF 的软件都需要从文件末尾开始,在那里它会找到预告片字典。这个尾部字典将通过编号引用根字典。查看器将在交叉引用 table 中查找对象并在目录中查找页面字典。页面字典包含一个树结构:页面树。 PDF reader 将在页面树中移动并为每个页面找到一个页面字典。页面字典将包含对呈现页面所需的所有资源的引用:内容流、对字体、图像等的引用。这些对象(页面字典、流、字体字典等)可以在整个文件中找到(在开头、中间、结尾)。它们的顺序与页面的顺序不同。交叉引用 table 知道每个对象的字节偏移量。
如果你知道这一点,你就会知道任何问 "I want to read only one page of a PDF by isolating a specific number of continuous bytes" 的问题都表明对 PDF 的理解非常缺乏。
PdfReader reader = new PdfReader(new FileInputStream(fpath));
我们可以在这个 type.This 中定义 reader 用于所有 PDF 文件。我只需要为一页定义此 reader。例如,仅 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);
}
请查阅官方文档并搜索selectPages。 selectPages()
方法将 PdfReader
实例缩减为您选择中列出的页面。
例如,如果您想将 PdfReader
实例限制为第 10 页,您可以使用此行:
reader.selectPages("10");
更新
您声称以上内容没有回答您的问题。如果那是真的,那么请重新表述你的问题,因为我想不出对你的问题的另一种解释。
正如 Amedee 在他的评论中指出的那样,可能存在语言问题,但我认为该问题与对 PDF 的一些误解有关。 PDF 文件是一系列对象。这些对象列在交叉引用 table 中。任何读取 PDF 的软件都需要从文件末尾开始,在那里它会找到预告片字典。这个尾部字典将通过编号引用根字典。查看器将在交叉引用 table 中查找对象并在目录中查找页面字典。页面字典包含一个树结构:页面树。 PDF reader 将在页面树中移动并为每个页面找到一个页面字典。页面字典将包含对呈现页面所需的所有资源的引用:内容流、对字体、图像等的引用。这些对象(页面字典、流、字体字典等)可以在整个文件中找到(在开头、中间、结尾)。它们的顺序与页面的顺序不同。交叉引用 table 知道每个对象的字节偏移量。
如果你知道这一点,你就会知道任何问 "I want to read only one page of a PDF by isolating a specific number of continuous bytes" 的问题都表明对 PDF 的理解非常缺乏。