java - iText 兼容性问题

标签 java itext bouncycastle

我正在尝试使用以下方法为 PDF 设置密码保护:

  • JRE7
  • iText 版本 5.2.1
  • bcprov jdk16 1.46
  • bctsp jdk16 1.46
  • bcmail jdk16 1.40

我遇到以下问题:

  1. 无法读取 PdfReaderPdfStamperPdfWriter 类。

  2. 如果我将 iText 的版本更改为 5.3.2,那么之前的问题就会得到解决,但在执行时我会收到此错误:

    ClassNotFound org/bouncycastle/asn1/ANS1Encodable

提前致谢。

最佳答案

您需要确保所有 jar 都兼容。正如您在 pom.xml 中看到的那样,iText 5.3.2 预计 BouncyCaSTLe 1.47。我之前写过 1.49,这是一个错字。

<dependencies>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>1.47</version>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk15on</artifactId>
        <version>1.47</version>
        <optional>true</optional>
    </dependency>
    ...
</dependencies>

必须 download BouncyCaSTLe jar 的正确版本并将它们包含在您的项目中。如果您无法下载正确的版本,那么您的问题就无法解决。没有其他办法可以解决这个问题。

关于java - iText 兼容性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40905635/

相关文章:

java - iText 签名表单字段内容未打印在纸上

java - 如何在 Java 应用程序中使用 Microsoft PKCS#9 SignerInfo 属性?

java - 如何使用 Bouncy CaSTLe 从 CMS 中删除签名?

java - Java 8 流的不干扰要求

java - 使用 MockMvc Http Status 错误测试 @ControllerAdvice

java - 与 TJ 运算符(operator)合作

java - 如何从 PDF 文件中删除所有图像/绘图并仅保留 Java 中的文本?

java - Maven tomcat 插件

java - 项目不在 Eclipse 构建路径中

c# - 如何解密几个片段中的大缓冲区?充气城堡,AES/CTR/NoPadding