• December 16, 2014
  • iText
  • Comments Off on How to add password protection to PDF using iText in Java?

How to add password protection to PDF using iText in Java?

The PdfWriter class provides the setEncryption() method to set the password protection on a pdf file.


public void setEncryption(byte[] userPassword, byte[] ownerPassword, int permissions, int encryptionType) throws DocumentException.
1. userPassword – It specify the user password.
2. ownerPassword – It specify the owner password.
3. permissions – It specify the user permissions.
4. encryptionType – It specify the type of encryption.

Note: We can provide multiple permission by ORing them.
e.g. PdfWriter. ALLOW_COPY | PdfWriter.ALLOW_PRINTING


1. Create Document instance. It represents the current document to which we are adding content.
2. Create OutputStream instance. It represents the generated pdf.
3. Create PDFWriter instance and pass Document and OutputStream instance to its constructor.
4. Add password protection using setEncryption() method of the PdfWriter class.
5. Open the Document by calling document.open().
6. Add the content to the document by calling document.add() method.
7. Close the document by calling document.close() method.



import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
 * This class is used to add password protection 
 * on a pdf file using iText jar.
 * @author javawithease
public class PDFPasswordExample {
  public static void main(String args[]){
    try {
	String userPassword = "user123";
	String ownerPassword = "owner123";
	//Create Document instance.
	Document document = new Document();
	//Create OutputStream instance.
	OutputStream outputStream = 
	     new FileOutputStream(new File("D:\\TestPasswordFile.pdf"));
	//Create PDFWriter instance.
	PdfWriter pdfWriter = 
			PdfWriter.getInstance(document, outputStream);
        //Add password protection.
        //Open the document.
        //Add content to the document.
        document.add(new Paragraph("Hello world, this is a " +
            		"test pdf file with password protection."));
        //Close document and outputStream.
        System.out.println("Pdf created successfully.");
    } catch (Exception e) {


Pdf created successfully.

Download this example.
Previous Topic: How to merge two pdf files using itext in java?

Related Topics:

How to build java project using ant in eclipse?
JAXB marshalling – convert java object to xml example.
How to create pdf file in java using iText jar?
Generics class example.
OGNL in struts 2.
Hibernate One-to-One Mapping using xml.
Send inline image in email using JavaMail API.
Quartz 2 JobListener example.


Comments are closed.