当前位置: 首页 > 知识库问答 >
问题:

PDDocument声明出现未知错误:PDFBox

司寇经亘
2023-03-14

当我使用PDDocument和PDFTextStripper方法时,尽管导入了所有必需的库,但我还是收到了错误。

import org.apache.pdfbox.pdmodel.*;
import org.apache.pdfbox.pdmodel.edit.*;
import org.apache.pdfbox.pdmodel.graphics.xobject.*;
import java.io.*;

public class importingPDF {

    public static void main(String[] args) {
        PDDocument pd;
         BufferedWriter wr;
         try {
                 File input = new File("C:\\Invoice.pdf");  // The PDF file from where you would like to extract
                 File output = new File("C:\\SampleText.txt"); // The text file where you are going to store the extracted data
                 pd = PDDocument.load(input);
                 System.out.println(pd.getNumberOfPages());
                 System.out.println(pd.isEncrypted());
                 pd.save("CopyOfInvoice.pdf"); // Creates a copy called "CopyOfInvoice.pdf"
                 PDFTextStripper stripper = new PDFTextStripper();
                 wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(output)));
                 stripper.writeText(pd, wr);
                 if (pd != null) {
                     pd.close();
                 }
                // I use close() to flush the stream.
                wr.close();
         } catch (Exception e){
                 e.printStackTrace();
                } 
             }
    }

共有2个答案

杨轶
2023-03-14

谢谢你的努力。正如你所说,我显然没有加载正确的jar文件。以下是必需的jar文件!

import org.pdfbox.cos.COSDocument;
import org.pdfbox.exceptions.COSVisitorException;
import org.pdfbox.pdfparser.PDFParser;
import org.pdfbox.pdmodel.PDDocument;
import org.pdfbox.pdmodel.PDDocumentInformation;
import org.pdfbox.util.PDFTextStripper;
郑理
2023-03-14

似乎这是一个与JAR无关的问题。

您可以在此处搜索相同类型的问题并解决您的问题,请参阅此获取java.lang.NoClassDefFoundError:org/pdfbox/pdfparser/

 类似资料:
  • 问题内容: 使用@jit装饰器运行代码时出现错误。似乎无法找到函数scipy.special.gammainc()的某些信息: 没有@jit装饰器,代码将正常运行。也许需要一些使scipy.special模块的属性对Numba可见的东西? 在此先感谢您的任何建议,评论等。 问题答案: 问题在于这不是Numba固有的一小部分函数(请参阅http://numba.pydata.org/numba- d

  • 我是robolectric新手,我只想运行简单测试。 我使用Android Studio=>Gradle 如何找到错误的真正源头?零点异常在哪里?

  • 问题内容: 我收到此错误消息,说我没有使用变量……但是在我的菜鸟眼中,看起来我在: 谁能指出我对语言的缺失?我认为这与vs 和作用域有关,但我不确定。 问题答案: 在您的for循环声明了一个新的变量,其阴影外。将其变成平原以解决问题。 顺便说一下,为了获得相同的精度和更快的速度,您可以尝试以下实现,该实现一次执行两个步骤:

  • 我正在尝试注册DBMS更改通知,但我遇到了一个错误,即必须声明DBMS\u Change\u通知。 下面是我的SQL代码: 执行后,我得到以下错误: DBMS_CHANGE_NOTIFICATION. DEREGISTER(注册);第9行出错: ORA-06550:第9行,第13列:PLS-00201:必须声明标识符“DBMS\u CHANGE\u NOTIFICATION” ORA-06550:

  • 问题内容: 我偶然发现了一个奇怪的问题,下面的代码无法编译: 错误(代码是linter推荐的代码)。: 注意,确实使用了该变量。 但是,如果我添加了else块-一切都会按预期编译: 这看起来像是编译器中的错误,还是一个已知问题?任何想法?(我正在使用go 1.11) 编辑:到目前为止的所有被告。按照:https : //golang.org/ref/spec#Short_variable_decl

  • 问题内容: 当我尝试执行以下查询时: 我收到一个错误: #1327-未声明的变量:newsletter_to_send 该查询有什么问题? 问题答案: http://dev.mysql.com/doc/refman/5.1/zh-CN/insert- select.html PS:您确定不需要in 子句吗?