java.lang.NoClassDefFoundError:org / fontbox / afm / FontMetric

我使用的是pdfbox-0.7.3.jar。 我知道缺少相关的类文件属于JAR pdfbox-0.7.3但是当我附加源文件时。 继续显示缺少.class文件。 我正在寻找有关以下错误的建议。

import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.pdfbox.cos.COSDocument; import org.pdfbox.pdfparser.PDFParser; import org.pdfbox.pdmodel.PDDocument; import org.pdfbox.util.PDFTextStripper; import java.lang.NoClassDefFoundError; import java.util.Scanner; public class ggg{ public static void main(String args[]) { // PDFTextStripper pdfStripper = null; // PDDocument pdDoc = null; // COSDocument cosDoc = null; File file = new File("C:\\Users\\firstfile.pdf"); try { PDFParser parser = new PDFParser(new FileInputStream(file)); parser.parse(); COSDocument cosDoc = parser.getDocument(); PDFTextStripper pdfStripper = new PDFTextStripper(); PDDocument pdDoc = new PDDocument(cosDoc); pdfStripper.setStartPage(1); pdfStripper.setEndPage(5); String parsedText = pdfStripper.getText(pdDoc); System.out.println(parsedText); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Exception in thread "main" java.lang.NoClassDefFoundError: org/fontbox/afm/FontMetric at org.pdfbox.pdmodel.font.PDFont.getAFM(PDFont.java:334) at org.pdfbox.pdmodel.font.PDSimpleFont.getFontHeight(PDSimpleFont.java:104) at org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:336) at org.pdfbox.util.operator.ShowTextGlyph.process(ShowTextGlyph.java:80) at org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452) at org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215) at org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174) at org.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:336) at org.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:259) at org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216) at org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149) at ggg.main(ggg.java:30) 

似乎您没有使用任何构建工具。

不幸的是,这个库还有其他依赖项。

org.fontbox.afm.FontMetric是一个位于fontbox-0.1.0.jar中的类

您可以访问Maven Central – PDF Box并下载并将依赖项中提到的所有库添加到您的项目中。

在此处输入图像描述

你还能做的是设置一个maven项目。 并将此依赖项添加到您的pom.xml。 要做到这一点,你需要:

  1. 安装maven
  2. 使用maven命令行命令创建项目

    mvn -B archetype:generate \ -DarchetypeGroupId = org.apache.maven.archetypes \ -DgroupId = com.mycompany.app \ -DartifactId = my-app

  3. 将maven PDF依赖项添加到pom.xml文件到部分

    pdfbox pdfbox 0.7.3

  4. 在IDE中将您生成的项目作为Maven项目打开(在您的情况下是Eclipse)

  5. 在IDE中刷新项目,让Eclipse下载库包含所有依赖项。