gpt4 book ai didi

android - 在 Android 中使用 iText 阅读 PDF 文档

转载 作者:行者123 更新时间:2023-11-29 21:56:57 25 4
gpt4 key购买 nike

我目前正在测试在 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。

最佳答案

如果您的 PDF 是使用 PDF 制作器制作的,所以它是文本而不是扫描文档或其他图片,则应该这样做:

                String content;
PdfReader reader = null;
try {
//String fileName is the string with the path to your .pdf file, for example resources/pdfs/preface.pdf
reader = new PdfReader(fileName);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int numberOfPages = readerTest.getNumberOfPages();
numberOfPages = numberOfPages + 1;
for (int page = 1; page < numberOfPages; page++){
try {
String content1Page = PdfTextExtractor.getTextFromPage(reader, page);
content = content + content1Page;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

现在 String content 包含 PDF 的文本。

编辑:您也可以先尝试在这一行中省略 toString() 方法:str = PdfTextExtractor.getTextFromPage(reader, 1).toString();

关于android - 在 Android 中使用 iText 阅读 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13005071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com