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