Password Protection of PDF Files

2019-04-14 13:01发布

问题:

We have a requirement to protect PDF files using a password. Are there any Java-based, open source tools which will help us in this regard?

回答1:

I would recommend using the iText java PDF library.

Inside iText, there is a class called PdfEncrypter which should let you password protect a PDF file.



回答2:

You can easily make the Password protected pdf file in java......to do so you will require two addtional jar/lib bctsp-jdk16-1.46.jar and bcprov-jdk16-1.46.jar along with the itextpdf-5.2.1.jar.
Download all jars from here Download Jars

Also below is the snippet of the code

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();
      }
}


回答3:

you can do it with iText PDF for java:

some examples:

http://1t3xt.info/examples/browse/?page=example&id=42



回答4:

FOP library also allows encryption:

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