【发布时间】:2012-10-22 04:45:40
【问题描述】:
我目前正在测试在 android 中使用 itext 阅读 PDF 的示例,但我遇到了问题。下面的代码在 android 模拟器中不显示任何内容:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager assetManager = getAssets();
InputStream istr = null;
PdfReader reader=null;
String str= null;
try {
istr =(InputStream) assetManager.open("resume.pdf");
reader=new PdfReader(istr);
str = PdfTextExtractor.getTextFromPage(reader, 1).toString();
//str=reader.getPageContent(1).toString();
}
catch (Exception e)
{
e.printStackTrace();
}
TextView tv = (TextView) findViewById(R.id.txtview);
tv.setText(str);
}
代码正在运行,但它不显示 PDF 的内容。
我认为这里的问题是没有正确打开 PDF 文档?
我的目标是从 PDF 文档中提取文本并将其传输到代码中的变量然后显示。
我正在使用 iText 版本 5.3.3。
【问题讨论】:
-
我认为 itext 不适合阅读 pdf,你可以使用 FBReader 或 Pdfviewr。
-
@Richa 谢谢你的回复。所以您说 iText 无法从 PDF 文档中提取文本并将其传输到 java/android 中的变量?
-
@Christian 如果 PDF 合适,它可以提取 Java 中的文本。但是,包含某些文本的扫描图像的 PDF 不适合,因为 iText 不执行 OCR。也许您想发布一个示例 PDF 来检查以告诉您更多信息。
-
@Christian 你确定你的代码中没有发现异常吗?也许您应该(暂时)将 str 设置为“发生错误:” + e 或类似的东西,而不是打印堆栈跟踪,并进行一些日志记录。
-
@mkl 哦。但它可以读取一个区域是否是图像?