Copy PDF Document with iText

Q

How to copy PDF document using iText Java Library?

✍: FYIcenter.com

A

Here is a tutorial for copying PDF document and update it's information using iText Java Library.

1. Create a Java file, PdfUpdate.java:

/**
 * Copy PDF and update info
 */
import com.itextpdf.kernel.pdf.*;
import java.io.*;

public class PdfUpdate {
  public static void main(String args[]) throws IOException {
    PdfReader reader = new PdfReader(args[0]);
    PdfWriter writer = new PdfWriter(args[1]);
    PdfDocument pdf = new PdfDocument(reader, writer);

    PdfDocumentInfo info = pdf.getDocumentInfo();
    System.out.println("Title: "+info.getTitle());
    System.out.println("Author: "+info.getAuthor());
    System.out.println("Subject: "+info.getSubject());
    System.out.println("Creator: "+info.getCreator());
    System.out.println("Producer: "+info.getProducer());

    info.setAuthor("FYIcenter.com");
    info.setSubject("Test on updating PDF info");
    // info.setProducer("iText7");

    pdf.close();
  }
}

2. Run the Java program iText 7 Java Library.

fyicenter$ java -cp java -cp kernel-7.1.4.jar:layout-7.1.4.jar: \
  io-7.1.4.jar:slf4j-api-1.7.31.jar \
  PdfUpdate.java hello.pdf updated.pdf

Title: null
Subject: null
Keywords: null
Author: null
Creator: null
Producer: iText® 7.1.4 ©2000-2018 iText Group NV (AGPL-version); \
  modified using iText® 7.1.4 ©2000-2018 iText Group NV (AGPL-version)

3. Check the updated PDF: updated.pdf.

fyicenter$ java -cp java -cp kernel-7.1.4.jar:layout-7.1.4.jar: \
  io-7.1.4.jar:slf4j-api-1.7.31.jar \
  PdfInfo.java updated.pdf

Title: null
Subject: Test on updating PDF info
Keywords: null
Author: FYIcenter.com
Creator: null
Producer: iText® 7.1.4 ©2000-2018 iText Group NV (AGPL-version); \
  modified using iText® 7.1.4 ©2000-2018 iText Group NV (AGPL-version)

Note that iText7 does not allow to set "Producer" field.

 

⇒ Where to save iText-5.0.1.jar to make compiler happy

⇐ Get PDF Document Info with iText

⇑ Using iText Library in Java Programs

⇑⇑ iText for PDF Generation

2021-11-13, 303👍, 0💬