Ich habe Code wie folgt aus:Scala Versuchen Sie, Else, außer Block
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
}
A Funktionsliteral, die Text aus PDF-Dateien unter Verwendung von Apache Tika analysiert.
Was ich will, ist jedoch ein Try Block hier, der auf parser.parse läuft und eine leere Zeichenfolge zurückgibt, wenn es nicht ausgeführt werden kann. Ich bin mir nicht sicher, wie ich diese Art von Logik in Scala konstruieren soll.
Dies ist genau das, was ich gesucht habe. Vielen Dank. – tadamhicks