CodesJava

Easy learning with example program codes

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.

Syntax:

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

Steps:

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.

Example:

PDFPasswordExample.java

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 codesjava
 */
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.
	pdfWriter.setEncryption(userPassword.getBytes(), 
		    ownerPassword.getBytes(),
                    PdfWriter.ALLOW_PRINTING, 
                    PdfWriter.ENCRYPTION_AES_256);
 
        //Open the document.
        document.open();
 
        //Add content to the document.
        document.add(new Paragraph("Hello world, this is a " +
            		"test pdf file with password protection."));
 
        //Close document and outputStream.
        document.close();
        outputStream.close();
 
        System.out.println("Pdf created successfully.");
    } catch (Exception e) {
	e.printStackTrace();
    }
  }
}

Output:

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.

 

Sign Up/ Sign In
Ask a Question


Industrial Training

We offers Placement Oriented Training on Java, Spring, JSF, Hibernate, PHP, AngularJS, Angular 4, PLSQL, Oracle BI Publisher etc. We also provides Online training, please mail us at hr@codesjava.com.

Development

We also provides the Development services for Website Development , Java Development, PHP Development, Android App Development etc. You can contact us on hr@codesjava.com.

Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki