2016-12-01 287 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