2010-06-17 5 views
2

Мы используем следующий код для отключения опции печати в формате PDF. Работает очень хорошо.iText Java отключить печать pdf

PdfReader reader = new PdfReader("my-old-file.pdf"); 
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("my-new-file.pdf")); 
    stamper.setEncryption("my-owner-password".getBytes(), "my-user-password".getBytes(), 
    PdfWriter.AllowCopy, PdfWriter.STRENGTH40BITS); 
    stamper.close(); 

Все было сумасшедшим дором до вчерашнего дня. Мы решили обновить версию PDF Reader до 9.3 с версии 8.2 Опция печати больше не отключается! Похоже, этот код работает только в том случае, если у нас установлен Adobe Acrobat Reader 8. В других версиях он не отключает кнопки копирования или печати.

Пожалуйста, помогите.

ответ

1

Я не вижу, чтобы Adobe просто отбрасывала поддержку этих флагов безопасности, но они, возможно, устали от STRENGTH40BITS. Я предлагаю вам обновить STRENGTH128BITS.

Это или ошибка Adobe.

PS: Последняя версия Acrobat - это 9.4, вы можете попробовать эту версию вместо этого ... длинные шансы, но стоит того. 9.3 был слегка шелушащимся.

К сожалению, это все догадки с моей стороны. Хорошая охота.

0

использовать следующие банки:

<dependency> 
    <groupId>com.itextpdf</groupId> 
    <artifactId>itextpdf</artifactId> 
    <version>5.3.2</version> 
</dependency> 
<dependency> 
    <groupId>org.bouncycastle</groupId> 
    <artifactId>bcprov-jdk15on</artifactId> 
    <version>1.47</version> 
</dependency> 
<dependency> 
    <groupId>org.bouncycastle</groupId> 
    <artifactId>bcmail-jdk15on</artifactId> 
    <version>1.47</version> 
</dependency> 
Смежные вопросы