编写了从PDF文档读取文本的功能。
使用Scala语言,Selenium,PDFBox 2.0.1。
下面是代码:
enter code here
import org.openqa.selenium.firefox.{FirefoxBinary, FirefoxDriver, FirefoxProfile}
import org.apache.pdfbox.pdfparser.PDFParser
import org.apache.pdfbox.text.PDFTextStripper
import java.io.BufferedInputStream
def pdfreaddata {
driver.get("https://www.....pdf")
driver.manage.timeouts.implicitlyWait(50, TimeUnit.SECONDS)
val url: URL = new URL(driver.getCurrentUrl)
println(url)
val fileToParse: BufferedInputStream = new BufferedInputStream(url.openStream())
val parser: PDFParser = new PDFParser(fileToParse)
parser.parse()
val output: String = new PDFTextStripper().getText(parser.getPDDocument)
println("pdf Value" + output)
parser.getPDDocument.close()
driver.manage.timeouts.implicitlyWait(100, TimeUnit.SECONDS)
}
在
val parser: PDFParser = new PDFParser(fileToParse)
中显示PDFParser的错误错误信息:
无法解析构造函数
也在Java中尝试了代码,得到了同样的错误。
最佳答案
您正在使用PDFBox版本2.x,但是显然您正在遵循版本1.x的文档。在2.0中没有这样的构造函数。有些事情已经改变,包括解析。遵循migration guide或回落到1.8,因为它的确记录在案,在线资料也更多。