Защита паролем файлов PDF

У нас есть требование защищать файлы PDF с помощью пароля. Существуют ли какие-либо инструменты с открытым исходным кодом на основе Java, которые помогут нам в этом отношении?


person Joe    schedule 09.01.2010    source источник


Ответы (4)


Я бы рекомендовал использовать iText java-библиотеку PDF.

Внутри iText есть класс с именем PdfEncrypter, который должен позволять вы защищаете паролем файл PDF.

person David-Zazeski    schedule 09.01.2010
comment
Я не могу получить доступ к этой ссылке, и, похоже, она не работает в течение достаточно долгого времени. - person Joe; 09.01.2010
comment
Если у вас возникли проблемы с доступом к основному веб-сайту iText, вы также можете загрузить код с сайта sourceforge: sourceforge.net/ проекты/текст - person David-Zazeski; 10.01.2010

Вы можете легко создать PDF-файл, защищенный паролем, в java...... для этого вам потребуются два дополнительных jar/lib bctsp-jdk16-1.46.jar и bcprov-jdk16-1.46.jar вместе с itextpdf-5.2. 1.jar.
Загрузите все файлы jar отсюда Загрузите файлы jar

Также ниже приведен фрагмент кода

private static String USER_PASSWORD = "password";
private static String OWNER_PASSWORD = "naveen";
public static void main(String[] args) throws IOException {

    Document document = new Document();
      try
      {

         PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("E:\\HelloWorld.pdf"));
         writer.setEncryption(USER_PASSWORD.getBytes(),OWNER_PASSWORD.getBytes(), PdfWriter.ALLOW_PRINTING,PdfWriter.ENCRYPTION_AES_128);
         document.open();
         document.add(new Paragraph("This is Password Protected PDF document."));
         document.close();
         writer.close();
      } catch (DocumentException e)
      {
         e.printStackTrace();
      } catch (FileNotFoundException e)
      {
         e.printStackTrace();
      }
}
person Naveen    schedule 05.08.2014


Библиотека FOP также позволяет шифровать:

http://xmlgraphics.apache.org/fop/0.94/pdfencryption.html

person True Soft    schedule 09.01.2010
comment
Это для существующих PDF-файлов или для того, который вы сейчас создаете? - person Thorbjørn Ravn Andersen; 09.01.2010
comment
Пример в ссылке относится к файлу, который вы сейчас создаете, и я думаю, что он работает с другими существующими PDF-файлами. Джошуа не упомянул, в каком контексте ему нужно шифрование. - person True Soft; 09.01.2010