gpt4 book ai didi

java - PDFRenderer 在打开加密的 pdf 时出错

转载 作者:行者123 更新时间:2023-12-01 05:06:06 24 4
gpt4 key购买 nike

我正在尝试通过PDFRenderer库在java程序中打开加密的pdf文件。编译代码时,PDFPassword 类出现错误。这是我的代码的一部分。

    RandomAccessFile raf = new RandomAccessFile(new File(filename), "r");
FileChannel fc = raf.getChannel();
ByteBuffer buf = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
String password = "58e72df9-0";
try{
PDFPassword pass = new PDFPassword(password);
//System.out.println(PDFPassword.nonNullPassword(pass));
PDFFile pdffile = new PDFFile(buf, pass);

我得到的错误是:

Exception in thread "main" java.lang.ExceptionInInitializerError
at com.sun.pdfview.decrypt.PDFPassword$PDFDocEncodingByteGenerator.createCharsetEncoder(PDFPassword.java:256)
at com.sun.pdfview.decrypt.PDFPassword$CharsetEncoderGenerator.generateBytes(PDFPassword.java:222)
at com.sun.pdfview.decrypt.PDFPassword.generatePossiblePasswordBytes(PDFPassword.java:167)
at com.sun.pdfview.decrypt.PDFPassword.getPasswordBytes(PDFPassword.java:111)
at com.sun.pdfview.decrypt.StandardDecrypter.<init>(StandardDecrypter.java:159)
at com.sun.pdfview.decrypt.PDFDecrypterFactory.createStandardDecrypter(PDFDecrypterFactory.java:316)
at com.sun.pdfview.decrypt.PDFDecrypterFactory.createDecryptor(PDFDecrypterFactory.java:99)
at com.sun.pdfview.PDFFile.readTrailer(PDFFile.java:1051)
at com.sun.pdfview.PDFFile.parseFile(PDFFile.java:1175)
at com.sun.pdfview.PDFFile.<init>(PDFFile.java:126)
at pdfview.pdfView.main(PdfView.java:49)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -128
at com.sun.pdfview.PDFDocCharsetEncoder.<clinit>(PDFDocCharsetEncoder.java:68)
... 11 more

最佳答案

我不确定您的问题,但是:

如果您使用this它有的图书馆递归调用自身的加密错误。

我有 stackoverflow 的加密问题。我发现了这个问题并解决了 stackoverflow 问题。更改 CryptoCipher 类,如 this

也许这可以解决您的问题

关于java - PDFRenderer 在打开加密的 pdf 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12638718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com