【问题标题】:iText compatibility issueiText 兼容性问题
【发布时间】:2016-12-01 08:17:08
【问题描述】:

我正在尝试为 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

提前致谢。

【问题讨论】:

  • 您需要使用 BouncyCastle 1.49 版。您可能不使用 Maven 或 Gradle 或任何类似的东西,但是您手动将 jar 添加到您的 lib 文件夹中。如果您使用 Maven,那么它会自动为您找到所有依赖项,以及所有正确的版本。 Maven 让您的生活更轻松。
  • 感谢 AVG,我正在使用 Eclipse IDE,正如您所说,我需要在外部添加 jar 文件。问题是我没有下载权限,所以有没有其他方法可以解决这个问题。
  • PdfReaderPdfStamperPdfWriter 类没有被读取。” - 你的意思是什么?

标签: java itext bouncycastle


【解决方案1】:

您需要确保所有 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 并将它们包含在您的项目中。如果您无法下载正确的版本,那么您的问题将无法解决。没有其他办法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2014-02-12
    • 2011-10-04
    • 2013-03-28
    • 2019-10-03
    • 2018-06-02
    相关资源
    最近更新 更多