繁体   English   中英

如何使用Firebase ML Kit识别PDF文件中的文本?

[英]How to recognize text from the PDF file using Firebase ML Kit?

我正在开发一个Android应用程序以检测PDF文件中的文本。

首先,我尝试使用Google Cloud Vision API。 但它需要OAuth 2.0。 所以我从它改为Firebase ML Kit。

但是,当我运行“ fromFilePath”方法时,发生了NPE。

val file = getPdfFile()
Log.d(TAG, "file.length: ${file.length()}") // File size is printed correctly!

// NPE occurred while below code running
val image = FirebaseVisionImage.fromFilePath(context, Uri.fromFile(file))

// Because already NPE occurred, I cannot reach out to below code.
val detector = FirebaseVision.getInstance()
    .cloudDocumentTextRecognizer
 Process: com.youknow.redact, PID: 13122 java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference 

Firebase ML套件似乎不支持PDF文件,对吗?

有什么好的解决办法吗?

使用Firebase ML套件无法识别PDF文件中的文本吗?


我尝试测试更多文件格式:JPG,TIFF

都是一样的,只是输入文件被改变了。 JPG可以正常工作,但是TIFF存在相同的问题。

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
    at com.google.android.gms.internal.firebase_ml.zzox.zza(Unknown Source)
    at com.google.firebase.ml.vision.common.FirebaseVisionImage.fromFilePath(Unknown Source)

TIFF不是Android上官方支持的图像格式。 PDF是文档格式,而不是图像格式。 请参阅以下链接,以获取所有支持的图像格式的列表: https : //developer.android.com/guide/topics/media/media-formats#image-formats

[更新]了解OP的问题。 Firebase ML Kit支持两种类型的文本识别:

  1. 以城市或景观的图像形式显示的文字(如街道照片中的标志)
  2. 文档图像中的文本

OP想要的是识别PDF“文档”中的文本,并且不支持此操作。

我认为OP误解了ML Kit上下文中的文档含义。

要识别PDF文件中的文本,您将需要使用3rd party库将PDF首先转换为位图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM