Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9277431
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T17:06:25+00:00 2026-06-18T17:06:25+00:00

I tried this code to encrypt my PDF so users cannot copy content from

  • 0

I tried this code to encrypt my PDF so users cannot copy content from the PDF (just for testing, I know there’s something as OCR’ing :p)

import java.io.FileOutputStream;

import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.itextpdf.text.pdf.PdfWriter;

public class EncryptPDF {

private static final String INPUT_FILENAME = "/tmp/test.pdf";
private static final String OUTPUT_FILENAME = "/tmp/test_encrypted.pdf";
private static final String USER_PASSWORD = "";
private static final String OWNER_PASSWORD = "foobar";

public static void main(String[] args) {
    PdfReader reader = null;
    FileOutputStream out = null;
    PdfStamper stamper = null;

    try {
        // Define input
        reader = new PdfReader(INPUT_FILENAME);

        // Define output
        out = new FileOutputStream(OUTPUT_FILENAME);

        // Encrypt document
        stamper = new PdfStamper(reader, out);
        stamper.setEncryption(USER_PASSWORD.getBytes(), OWNER_PASSWORD.getBytes(), ~(PdfWriter.ALLOW_COPY | PdfWriter.ALLOW_PRINTING), PdfWriter.STANDARD_ENCRYPTION_128);
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        if (stamper != null) {
            try {
                stamper.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        if (out != null) {
            try {
                out.close();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    }

}
}

… But when I open the PDF, I can still select content from it. I’m using iText 5.0.2.

Any idea’s on what I’m doing wrong?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T17:06:27+00:00Added an answer on June 18, 2026 at 5:06 pm

    As mentioned in my comment to the question, running the example code as is results in a NullPointerException during stamper.close() — which is quite natural as you first close the PdfReader and afterwards the PdfStamper, but the latter close() method accesses the PdfReader (already closed now) for its work.

    When I run your code with the order of closing the PdfReader and the PdfWriter reversed, though, I get a proper result file with the access rights as required:

    document properties of protected PDF showing print and copy as disabled

    PS: I’m using iText version 5.3.5; if reversing the order of the close() calls does not help in your case, you may want to update from your version 5.0.2.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I tried this code from the post, but this code is sending two emails
I tried this code to open a file in Python: f = open("/Desktop/temp/myfile.txt","file1") It
i have tried this code to redirect a php page.but it s not working
how to make php can read log file in /var/log/.... I tried this code
I am trying to enable mod_deflate. I have Apache 2.0+ and tried this code
I tried with this code to post on the wall (Twitter) of a user
i've tried using this code and this to make a random quote generator, but
How do I check if a textarea contains nothing? I tried with this code:
I tried to run this code: #define ROW_CNT 8; #define COLUMN_CNT 24; #define FIRST_COLUMN
I tried to use this code but it doesn't work. http://developer.apple.com/library/ios/#samplecode/PageControl/Introduction/Intro.html Ld /Users/waitonza/Library/Developer/Xcode/DerivedData/Dr_Ngoo-aanknxmuodcgjicaigxevljxokeq/Build/Products/Debug-iphonesimulator/Dr Ngoo.app/Dr

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.