Android:从PDF提取文本的速度非常慢

时间:2018-10-12 15:01:59

标签: android itext

在我的Android项目中,我想从pdf文件中提取纯文本。我设法做到了,尝试了 itext pdfbox 库。无论使用哪种格式,从一页pdf文件中提取文本的过程都需要2-3分钟(!)。这不是模拟器,而是在Android 8.0上运行的Samsung Galaxy S7。

我试图在调试器中探索花费了这么长时间,但是我无法使用Android Studio调试器来执行此操作,有时断点不起作用,程序暂停时未显示调用堆栈,或者程序突然终止已暂停...

代码在JobIntentService中运行:

public class GetMenuService extends JobIntentService {
...

    @Override
    protected void onHandleWork(Intent intent) {
        try {
            PdfReader reader = new PdfReader(new File(getFilesDir(), MENU_FILENAME).getPath());
            int n = reader.getNumberOfPages();
            for (int i = 0; i <n ; i++) {
                parsedText   = parsedText+ PdfTextExtractor.getTextFromPage(reader, i+1).trim()+"\n"; //Extracting the content from the different pages
            }
            System.out.println(parsedText);
            reader.close();
        } catch (Exception e) {
             System.out.println(e);
        }
        ...        
    }
}

要提高性能,需要知道导致问题的原因。图书馆这么慢吗?是否缺少Android Studio中的任何构建优化?还是因为代码在JobIntentService内部?

0 个答案:

没有答案