我正在使用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)
答案 0 :(得分:0)
似乎您没有使用任何构建工具。
不幸的是,这个库还有其他依赖项。
org.fontbox.afm.FontMetric 是一个位于fontbox-0.1.0.jar的类
您可以转到Maven Central - PDF Box并下载并将依赖项中提到的所有库添加到项目中。
您还可以做的是设置maven项目。并将此依赖项添加到您的pom.xml。要做到这一点,你需要:
使用maven命令行命令创建项目
mvn -B archetype:generate \ -DarchetypeGroupId = org.apache.maven.archetypes \ -DgroupId = com.mycompany.app \ -DartifactId = MY-应用
将maven PDF依赖项添加到pom.xml文件到<dependendencies>
<dependency>
<groupId>pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>0.7.3</version>
</dependency>
在IDE中将您生成的项目作为Maven项目打开(在您的情况下是Eclipse)
在IDE中刷新项目,让Eclipse下载库包含所有依赖项。