Mark Stephens I have been working with Java and PDF since 1999 and am a big NetBeans fan. I enjoy speaking at conferences including Business of Software, JavaOne, CodeOne and DevFest. I have an MA in Medieval History and a passion for reading.

Why do I need the PDF password to open the PDF file

50 sec read

Many people have PDF files which are password protected but for which they no longer have the password, often for perfectly innocent reasons. So they are ask, can JPedal just ignore the password and display the file.

The answer is no because the password is not stored in the PDF just to check against, but it is woven into the entire fabric of the PDF file by PDF security.

A PDF file consists of lots of PDF objects, which contain all the PDF data. You can learn more about this in Daniel’s excellent set of articles on Making your own PDF.

When the PDF is encrypted, the contents of each object is altered using a numeric key. If you open it, the data is garbage. The process needs to be reversed using the complimentary key. And this key is calculated using  a formula which includes the password. It also includes the PDF object number, so each object has its own unique key.

So you need the PDF password to unscramble the data in every object in a PDF file. Otherwise the data is effectively ‘corrupted’ and unusable.

This post is part of our “Understanding the PDF File Format” series. In each article, we discuss a PDF feature, bug, gotcha or tip. If you wish to learn more about PDF, we have 13 years worth of PDF knowledge and tips, so click here to visit our series index!

IDRsolutions develop a Java PDF Viewer and SDK, an Adobe forms to HTML5 forms converter, a PDF to HTML5 converter and a Java ImageIO replacement. On the blog our team post anything interesting they learn about.

Mark Stephens I have been working with Java and PDF since 1999 and am a big NetBeans fan. I enjoy speaking at conferences including Business of Software, JavaOne, CodeOne and DevFest. I have an MA in Medieval History and a passion for reading.

Leave a Reply

Your email address will not be published. Required fields are marked *

IDRsolutions Ltd 2019. All rights reserved.