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

iText与PDF 1.6的兼容性

阎渝
2023-03-14

我发现,如果我尝试用iText(版本5.1.1)打开现有的1.6 PDF文件,就会出现一个错误。如果我用1.5转换这个PDF,我就能读懂它了。

我试着找出从哪个版本的iText PDF 1.6被处理,但找不到信息。知道吗?THX!

编辑:此处堆栈:

Caused by: java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString
    at com.itextpdf.text.pdf.PdfEncryption.<init>(PdfEncryption.java:147)
    at com.itextpdf.text.pdf.PdfReader.readDecryptedDocObj(PdfReader.java:775)
    at com.itextpdf.text.pdf.PdfReader.readDocObj(PdfReader.java:1152)
    at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:512)
    at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:172)

执行行时出错:

final PdfReader reader = new PdfReader(file.getAbsolutePath());

共有1个答案

佟嘉祯
2023-03-14

你的问题有误导性,因为你作了不实的指控。您声称您正在使用的iText版本不支持PDF1.6。

但是,您在问题的编辑版本中添加的错误消息显示了真正的原因:

Caused by: java.lang.NoClassDefFoundError: org/bouncycastle/asn1/ASN1OctetString

我在Acrobat Reader中打开了你在评论中分享的PDF,这是我看到的:

话虽如此。您不需要删除安全限制。您可以通过将正确版本的BouncyCastle库添加到类路径中来解决java.lang.NoClassDefoundErr。您可能必须将unethicalreading变量更改为true,如下文所述:如何读取使用未知随机所有者密码创建的PDF?

 类似资料:
  • 我一直试图编写一些opengl代码,在任何地方都可以使用,但又不太限制自己。 我想在只支持opengles2的设备上使用opengles2,在支持opengl核心的设备上使用opengles2。 另外,我希望能够在运行时选择使用哪一个(当然,如果可用的话)。 我知道GLEW,但不幸的是,大多数linux distros发布的GLEW版本仍然不兼容GLES2(debian,我在看你)。它只是分割断层

  • 我想用JavaFXPorts和静态编程语言代码构建一个JavaFXAndroid应用。在JavaFXPorts项目中可以使用静态编程语言吗?下面是我的示例Gradle(版本5.6.4)项目: 注意:这段代码的问题是Kotlin运行时。。。有没有办法把所有东西捆绑在可执行Jar和Apk中? ./settings.gradle.kts /建造。格雷德尔。kts /应用/构建。格雷德尔。kts ./ap

  • 是否可以使用web3J收听infura事件?我正在尝试获取事件,但出错 我在不同的博客中读到,使用web3J无法获取过滤事件,那么使用web3J和infura获取过滤事件的替代方案是什么?

  • 问题内容: 检索具有特定类的元素数组的最佳方法是什么? 我会使用document.getElementsByClassName,但IE不支持它。 …但是IE仍然说: 对象不支持此属性或方法 有什么想法,更好的方法,错误修复? 我不希望使用任何涉及jQuery或其他“笨拙的javascript”的解决方案。 我知道了! 正如@joe提到的,该函数不是的方法。 因此,工作代码如下所示: …此外, 如果

  • 问题内容: 我在我的项目中使用,。我面临着找不到的错误。实际上,在旧的hibernate核心jar中,我们拥有此类,但在4.3.0版本中却没有。事实上我们有在4.3.0版本。但是我不确定此类在运行时如何依赖。意思是当我在应用程序中使用glassfish服务器时。 请让我知道spring 4.0.0和hibernate 4.3.0版本的兼容性,并向我推荐这两个版本的最新兼容版本。 我的代码是:dis