Android中的PDFBox或其他方式可从设备上的PDF中提取文本?

My app need to process input from PDF files consisting of text (mostly). I could do the parsing on my server, but I'd prefer not to. Anyway, after exploring my options for text extraction I found PDFBox library and its port to use with Android (https://github.com/TomRoush/PdfBox-Android)

在该应用中,我向用户展示了一个标准的UI,用于通过ACTION_OPEN_DOCUMENT选择源文档。然后覆盖onActivityResult以获取Uri-您知道,通常的东西。

问题是我不知道如何将其提供给PDFBox。因为我们不是在说“文件”而是在说“文档”,所以lib需要一个真实的文件路径。如果我为特定文件提供它,那么文本解析就可以了,但这当然不是最佳实践,并且不能对所有文档(云存储等)进行解析,所以我这样做:

InputStream inputStream = getContentResolver().openInputStream(uri);

然后逐行阅读它,这样最后我可以将所有内容打包在一个字符串中。显然,它可以。

但是,如何实际将这些数据输入到PDFBox中以进行文本提取呢?当我没有“真实文件路径”时,找不到任何有关如何解决方案的文档。

也许现在有更好的方法?这个库已经很老了。基本上,我需要从PDF中提取文本并在Android设备上进行处理,而不是通过API调用。真的卡在这里了。