Skip to main content
Skip table of contents

Why does PdfStamper create a file with 0 bytes?

When attempting to encrypt a pdf, I get a zero size file as a result. Any ideas what is causing this?


File f = new File("C://secure_abc.pdf");
FileOutputStream out = new FileOutputStream(f);
PdfReader reader = new PdfReader("C://abc.pdf");
System.out.println("reader.getFileLength(): "+reader.getFileLength());
PdfStamper stamp = new PdfStamper(reader, out);
stamp.setEncryption(null, null,
    PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

Posted on StackOverflow on Jul 8, 2014 by integratedsolns

Please add the following line at the very end:

stamp.close();

You create a zero-length file when you do this:

FileOutputStream out = new FileOutputStream(f);

But no bytes are written to that output stream up until you close the PdfStamper instance.

Click this link if you want to see how to answer this question in iText 7.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.