Apache pdfbox字体TrueType导致剥离器.getText()错误

Apache pdfbox字体TrueType导致剥离器.getText()错误,apache,pdf,fonts,pdfbox,Apache,Pdf,Fonts,Pdfbox,我有一些pdf文件需要提取到文本 只有一个pdf是truetype 它会导致以下错误: Exception in thread "main" java.lang.NoSuchMethodError: org.apache.fontbox.ttf.TrueTypeFont.getAdvanceWidth(I)I at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getFontWidth(PDTrueTypeFont.java:677) at org.

我有一些pdf文件需要提取到文本 只有一个pdf是truetype 它会导致以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.fontbox.ttf.TrueTypeFont.getAdvanceWidth(I)I
at org.apache.pdfbox.pdmodel.font.PDTrueTypeFont.getFontWidth(PDTrueTypeFont.java:677)
at org.apache.pdfbox.pdmodel.font.PDSimpleFont.getFontWidth(PDSimpleFont.java:231)
at org.apache.pdfbox.util.PDFStreamEngine.processEncodedText(PDFStreamEngine.java:411)
at org.apache.pdfbox.util.operator.ShowText.process(ShowText.java:45)
at org.apache.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:557)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:268)
at org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:235)
at org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:215)
at org.apache.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:460)
at org.apache.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:385)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:344)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:257)
我检查了api源代码,仍然无法通过它。 有什么我能做的吗?
或者2.0版本解决了这个问题。

这不是一个大问题,只是一些小错误

感谢mkl和Tilman Hausherr

这只是构建路径问题

首先,我有我不知道的fontbox的多个版本

再检查一遍,再仔细检查一下

如果其他人有相同的错误,请检查依赖项

pdfbox-1.x.x.jar
fontbox-1.x.x.jar

它们必须是一样的

fontbox和pdfbox JAR的版本是否相同
NoSuchMethodError
情况通常会在构建时被捕获。我现在删除了我自己的答案。顺便说一句,谢谢这里所有的好答案。我对其中的许多问题投了更高的票:-)@TilmanHausherr感谢这里所有的好答案-实际上我用这些问题深入到PDFBox中,并自己了解了一些:)。他们中的很多人都投了赞成票——非常感谢!我犯了一个愚蠢的错误,我再次检查了构建路径。在那里找到了多个版本的字体jar。非常感谢@mkl!很高兴你找到了!请回答您自己的问题(以便将来帮助其他人),或删除该问题。请更详细,例如添加一些文本,如“我在构建路径中有多个版本”。我从经验中知道,正是这些微小的错误会耗费数小时的工作:-(