PDF阅读器不工作

PDF阅读器不工作,pdf,reader,Pdf,Reader,它不起作用 就像我在运行windows一样 需要帮助请帮助我尝试了很多东西,但仍然得到相同的信息 这是错误消息 这是我尝试你的代码时得到的输出 文件存在:true import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter;

它不起作用 就像我在运行windows一样 需要帮助请帮助我尝试了很多东西,但仍然得到相同的信息

这是错误消息

这是我尝试你的代码时得到的输出

文件存在:true

    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.Writer;
    import java.nio.file.Files;

    import com.itextpdf.text.pdf.PdfReader;
    import com.itextpdf.text.pdf.parser.PdfReaderContentParser;
    import com.itextpdf.text.pdf.parser.SimpleTextExtractionStrategy;
    import com.itextpdf.text.pdf.parser.TextExtractionStrategy;
`    
public class Test{


    public static void main(String []args) throws IOException
    {

        String  pdf= "c:\\sample.pdf";

         PdfReader reader = new PdfReader(pdf);

    }


}
线程“main”java.lang.NoClassDefFoundError中出现异常: org/bouncycastle/asn1/asn1可编码 请访问com.itextpdf.text.pdf.PdfEncryption.(PdfEncryption.java:148) 在com.itextpdf.text.pdf.PdfReader.readdecrypteddocbj上(PdfReader.java:1024) 位于com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1430) 请访问com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:732) 请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:181) 请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:219) 请访问com.itextpdf.text.pdf.PdfReader。(PdfReader.java:207) 请访问com.itextpdf.text.pdf.PdfReader(PdfReader.java:197) 位于pdfconverter.Test.main(Test.java:37) 原因:java.lang.ClassNotFoundException: org.bouncycastle.asn1.asn1可编码 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 9更多
我觉得代码不错。关于您所犯错误的更多信息?例如,它可能是一个类路径错误-类似于找不到itextpdf类

如果它作为基线有帮助的话,下面的代码对我很有用。我删除了无关的包括,虽然他们不会伤害他们留在里面

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/bouncycastle/asn1/ASN1Encodable
at com.itextpdf.text.pdf.PdfEncryption.<init>(PdfEncryption.java:148)
at com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:1024)
at com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1430)
at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:732)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:181)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:219)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:207)
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:197)
at pdfconverter.Test.main(Test.java:37)
Caused by: java.lang.ClassNotFoundException: 
org.bouncycastle.asn1.ASN1Encodable
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more
输出为:

import java.io.File;
import com.itextpdf.text.pdf.PdfReader;

public class Test {

    public static void main(String[] args) {

        String  pdf= "C:\\Java-Design-Patterns.pdf";

        try {
            System.out.println("File Exists: "+new File(pdf).exists());
            PdfReader reader = new PdfReader(pdf);
            int count = reader.getNumberOfPages();
            System.out.println("PDF has "+count+" pages.");
         } catch (Exception e) {
            System.out.println("Failed to open PDF ["+pdf+"]: "+e);
            e.printStackTrace();
         }

    }
}
我使用的itext-jar是:itextpdf-5.5.12.jar(包括via)

我使用的pdf(由google提供:java设计模式pdf)如下: 我还没有读过,但第一页看起来不错;)

尽管如此,这是相当可怕的

File Exists: true
PDF has 183 pages.
清楚地表明了问题:弹跳城堡不见了!(或者至少缺少所需的版本。)

Bouncy Castle是iText使用的一个库,用于加密、解密、签名和签名验证,以及它们的web表示


因此,将Bouncy Castle库添加到类路径中。不过,请注意,所需的BC版本取决于所讨论的iText版本。您为itext7版本提供的maven链接表明需要BC 1.49。

您收到了什么错误消息?请使用问题下的链接并包含此信息。还要详细说明您尝试过的内容。
java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable