Reasons why not even Acrobat Reader can provide 100% PDF Specification Support

As it is the start of 2011 we thought we’d use our emailing list to see what features customers and users would like to see added to our library in the coming year.  One interesting suggestion was to be able to state that JPedal supported 100% of the PDF specification and that this would instill a stronger sense of confidence about the software.  I found this to be a very interesting suggestion as it highlights some important points.

The first point is with regards to Acrobat reader.  As we mention frequently in our blog Acrobat reader is very leinent with the PDF specification.  It will allow all manner of deviations from the specification and still try to figure out how to display it if it can.  There are also lots of PDF creation tools that take advantage of this leniency and produce PDF files that break the spec but still work in Acrobat Reader.  And we have a collection of files which break in different versions of Acrobat.

We have many examples of strange PDF files (such as intriguing PDF xref issue) and we often mention oddities we encounter on our twitter account. Therefore our general rule is that if a PDF file can be displayed in Acrobat Reader then it should be able to be viewed correctly in our reader. If a client sends us a file and it opens in Acrobat reader, we fix it.

In reality 100% comformation to the specification is not really practical as some of features in the specification are never encountered.  There are some very high-end features which we have never seen used which would need hundreds of hours of development work. But say you used a library that stated that it conformed 100% to the specification and it advertised it as so, how would you feel if you then attempted to load a PDF file and it did not work as you expected?

Personally, I think that the claim could be construde as being a little misleading if some of your PDF files could not not be viewed but opened in Acrobat Reader. What do you think?

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!

Related Posts:

The following two tabs change content below.

Daniel

Developer at IDR Solutions
When not delving into obscure PDF or Java bugs, Daniel is exploring the new features in JavaFX.
Daniel

About Daniel

When not delving into obscure PDF or Java bugs, Daniel is exploring the new features in JavaFX.

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>