2016-12-01 141 views
0

我想密码保护设置为PDF,使用:iText的兼容性问题

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

我遇到以下问题:

  1. PdfReader,PdfStamperPdfWriter类没有被读取。
  2. 如果我iText的版本更改为5.3.2,则前面的问题是如何解决,但同时执行我收到此错误:

    ClassNotFound org/bouncycastle/asn1/ANS1Encodable

在此先感谢。

+0

您需要使用BouncyCastle版本1.49。你可能不使用Maven或Gradle或类似的东西,但你手动添加jar到你的lib文件夹。如果您使用Maven,那么它会自动为您找到所有依赖项,并具有所有正确的版本。 Maven让你的生活变得更轻松。 –

+0

感谢AVG,我正在使用Eclipse IDE,正如你所说我需要在外部添加jar文件。问题是我没有下载权限,所以有什么其他方法可以解决这个问题。 – dopeE

+0

*“PdfReader”,“PdfStamper”和“PdfWriter”类没有被读取。“* - 你是什么意思? – mkl

回答

1

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

+0

谢谢.....让我看看我能做些什么。 – dopeE