【发布时间】:2016-07-20 05:29:26
【问题描述】:
我有这样的代码:
val extractInfo: (Array[Byte] => String) = (fp: Array[Byte]) => {
val parser:Parser = new AutoDetectParser()
val handler:BodyContentHandler = new BodyContentHandler(Integer.MAX_VALUE)
val config:TesseractOCRConfig = new TesseractOCRConfig()
val pdfConfig:PDFParserConfig = new PDFParserConfig()
val inputstream:InputStream = new ByteArrayInputStream(fp)
val metadata:Metadata = new Metadata()
val parseContext:ParseContext = new ParseContext()
parseContext.set(classOf[TesseractOCRConfig], config)
parseContext.set(classOf[PDFParserConfig], pdfConfig)
parseContext.set(classOf[Parser], parser)
parser.parse(inputstream, handler, metadata, parseContext)
handler.toString
}
使用 Apache Tika 从 PDF 中解析文本的函数文字。
不过,我想要的是一个在 parser.parse 上运行的 Try 块,如果它无法执行,则返回一个空字符串。我不确定如何在 Scala 中构建这种逻辑。
【问题讨论】:
标签: scala error-handling try-catch