NiFi ExecuteScript(Groovy):使用Pdfbox从PDF中提取文本/图像:错误加载模块

问题描述 投票:0回答:1

NiFi 1.11.4

你好,

[我找到了一个有趣的解决方案,可以使用ExecuteScript(Groovy)从pdf文件中提取文本和图像:

([NiFi template on github

Groovy脚本以]开头

import org.apache.pdfbox.pdmodel.*
import org.apache.pdfbox.util.*
def flowFile = session.get()
if(!flowFile) return
def s = new PDFTextStripper()

使用PDFBox 1.8.16

脚本可以正常运行,但PDFTextStripper始终为空(是的:pdf文件包含文本,而不是图像)

使用PDFBox 2.0.19

脚本未运行:

pdfbox 2.0的模块目录

29.04.2020  12:56         2.715.618 pdfbox-2.0.19.jar
29.04.2020  19:36           257.911 pdfbox-debugger-2.0.19.jar
29.04.2020  19:36            81.206 pdfbox-tools-2.0.19.jar
29.04.2020  19:36           247.912 preflight-2.0.19.jar
29.04.2020  19:36           132.182 xmpbox-2.0.19.jar
29.04.2020  19:36         1.561.265 fontbox-2.0.19.jar

错误

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: 
startup failed:
Script9.groovy: 18: unable to resolve class PDFTextStripper 
@ line 18, column 9.def 
  s = new PDFTextStripper()

任何想法,缺少什么?

感谢弗兰克

NiFi 1.11.4,您好,我找到了一个有趣的解决方案,该文件可通过ExecuteScript(Groovy)从pdf文件中提取文本和图像:Cloudera文章fun nifi文章(github上的NiFi模板The ...

groovy apache-nifi pdfbox
1个回答
0
投票
PDFTextStripper已重构为新的程序包。在pdfbox 1.8.x中,它确实位于org.apache.pdfbox.util中,但是从2.0.0版本开始,它位于org.apache.pdfbox.text中。
© www.soinside.com 2019 - 2024. All rights reserved.