2

我在使用 iText 时遇到问题。其他人说 iText 仅用于 PDF 创建?它无法读取或提取 PDF 中的文本。真的吗?

如果是真的,那么我可以选择从 PDF 文件中提取文本并将其保存在变量中或在 Android 设备中显示的其他选项是什么?

如果 iText 能够从 PDF 中提取文本,那么如何?

4

2 回答 2

3

iText 可以从 PDF 中提取文本。虽然它确实起源于创建新 PDF 和操作现有 PDF 的工具,但近年来它在提取文本方面也变得越来越好。这显然意味着您应该使用当前的 iText 版本 (5.3.x) 进行文本提取。

iText 的主要开发者 Bruno Lowagie 所著的“iText in Action, second edition”一书在第 15 章中解释了基本的 iText 文本提取,该章的示例可在 iText Sourceforge SVN 存储库中找到,参见。第 15 章的示例。一个很好的起点是ExtractPageContentSorted2,它提取整个页面的文本。

如果您有特殊要求,可以使用ExtractPageContentSorted1作为起点,明确定义文本提取策略;根据您的要求,您将需要自己的策略。如果您只想要来自特定区域的文本,请查看ExtractPageContentArea

要真正微调 iText 的文本提取功能,您应该查看 itext-question 邮件列表存档(例如在 nabble.com 上),因为最近 iText 文本提取 API 已扩展为服务于其他用例。

于 2012-10-22T06:50:37.260 回答
1
Use below code to extract text from pdf :


String pat = data.getData().getPath();
File f = new File(pat);
//f is file path of pdf file
read = new PdfReader(new FileInputStream(f));

parser = new PdfReaderContentParser(read);

strw = new StringWriter();

stretegy = parser.processContent(j, new SimpleTextExtractionStrategy());

strw.write(stretegy.getResultantText());

String da = strw.toString();

//set extracted text from pdf file 
//to Edit-text    
edt1.setText(da);
于 2015-11-16T12:57:58.427 回答