我目前正在构建一个在 ListView 中显示一组 pdf 文件的 android 应用程序。除了显示文件名之外,我还想从 pdf 的元数据中获取标题并将其显示在列表中,如果文件没有设置标题,则只需使用文件名。我正在使用 iText atm,这就是我所拥有的:
File[] filteredFiles = root.listFiles(filter);
for (int i=0;i<filteredFiles.length;i++) {
try {
File f = filteredFiles[i];
PdfReader reader = new PdfReader(f.getAbsolutePath());
String title = reader.getInfo().get("Title");
reader.close();
//Do other stuff here...
} catch (Exception e) {
e.printStackTrace();
}
}
这很好用,它得到了我想要的数据,但它很慢。此外,如果文件超过 2MB,有时我会出现内存崩溃。有没有更好的方法来做到这一点?也许是一种无需实际打开 pdf 文件即可获取元数据的方法?
非常感谢任何帮助,谢谢。