获取 ava.lang.ClassNotFoundException: org.apache.pdfbox.io.RandomAccessRead pdfbox 请求后控制台错误
Getting ava.lang.ClassNotFoundException: org.apache.pdfbox.io.RandomAccessRead console error after pdfbox request
我正在为 Web 项目处理 servlet 文件,这是我的代码:
我有 pdfbox 库 v.2.0.0,我的代码在一个简单的 java 应用程序中工作
pdfmanager.java :
public class pdfManager {
private PDFParser parser;
private PDFTextStripper pdfStripper;
private PDDocument pdDoc ;
private COSDocument cosDoc ;
private String Text ;
private String filePath;
private File file;
public pdfManager() {
}
public String ToText() throws IOException
{
this.pdfStripper = null;
this.pdDoc = null;
this.cosDoc = null;
file = new File(filePath);
parser = new PDFParser(new RandomAccessFile(file,"r")); // update for PDFBox V 2.0
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdDoc.getNumberOfPages();
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(10);
// reading text from page 1 to 10
// if you want to get text from full pdf file use this code
// pdfStripper.setEndPage(pdDoc.getNumberOfPages());
Text = pdfStripper.getText(pdDoc);
return Text;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
}
srvlet 文件:
PrintWriter out = response.getWriter() ;
out.println("\ndata we gottoo : ") ;
pdfManager pdfManager = new pdfManager();
pdfManager.setFilePath("/Users/rami/Desktop/pdf2.pdf");
System.out.println(pdfManager.ToText());
在 doGet 方法中调用
您需要的库不在class路径上或者classloader要加载库的class时出现其他问题。如果您在服务器上,请务必将库添加到 classpath 文件夹。这可以手动完成,或者您的应用程序必须 provide/deliver 自己完成。由于不清楚您的应用程序是如何部署或交付的,因此可能有很多原因
我正在为 Web 项目处理 servlet 文件,这是我的代码:
我有 pdfbox 库 v.2.0.0,我的代码在一个简单的 java 应用程序中工作
pdfmanager.java :
public class pdfManager {
private PDFParser parser;
private PDFTextStripper pdfStripper;
private PDDocument pdDoc ;
private COSDocument cosDoc ;
private String Text ;
private String filePath;
private File file;
public pdfManager() {
}
public String ToText() throws IOException
{
this.pdfStripper = null;
this.pdDoc = null;
this.cosDoc = null;
file = new File(filePath);
parser = new PDFParser(new RandomAccessFile(file,"r")); // update for PDFBox V 2.0
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
pdDoc.getNumberOfPages();
pdfStripper.setStartPage(1);
pdfStripper.setEndPage(10);
// reading text from page 1 to 10
// if you want to get text from full pdf file use this code
// pdfStripper.setEndPage(pdDoc.getNumberOfPages());
Text = pdfStripper.getText(pdDoc);
return Text;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
}
srvlet 文件:
PrintWriter out = response.getWriter() ;
out.println("\ndata we gottoo : ") ;
pdfManager pdfManager = new pdfManager();
pdfManager.setFilePath("/Users/rami/Desktop/pdf2.pdf");
System.out.println(pdfManager.ToText());
在 doGet 方法中调用
您需要的库不在class路径上或者classloader要加载库的class时出现其他问题。如果您在服务器上,请务必将库添加到 classpath 文件夹。这可以手动完成,或者您的应用程序必须 provide/deliver 自己完成。由于不清楚您的应用程序是如何部署或交付的,因此可能有很多原因