There have been several revisions of the PDF file specification, each backward compatible but adding new features. For example, version 1.6 added a new way to squash down data and reduce the size of PDF files. The current latest version is 2.0 and while it may work in libraries which do not support 2.0, there is no guarantee. Sun’s Java PDF Renderer does not support many of the features in versions 1.6 and above which is why it fails on lots of PDF files.
In order to be confident of displaying the PDF file correctly, you obviously need a program which supports that version. With Acrobat it is always one number than the release (so Acrobat 9 supports all versions up to 1.8 while Acrobat 8 only covers up to 1.7). You can see the version number in Acrobat by opening the preferences window and looking at PDF version. This PDF file is version 1.3 so it needs at least Acrobat 4.0
Most PDF tools have a window to display such information – here is the equivalent in JPedal
You can also find the version by opening the PDF file in a text editor. Most of the content will look like garbage (and you must not resave the file because you can corrupt it), but the first line always contains the version.
This is very useful if you are writing a program which needs to know the version – you just need to read the first line of the file.
The version is also worth considering when creating PDF files. Many creation tools let you target a certain version. Do you need all the bells and whistles present in version 1.8? Does the PDF look identical if you use version 1.4?
Is there a feature in you consider critical in later versions? What do you think?
Are you a Developer working with PDF files?
Our developers guide contains a large number of technical posts to help you understand the PDF file Format.
Do you need to solve any of these problems?
|Display PDF documents in a Web app|
|Use PDF Forms in a web browser|
|Convert PDF Documents to an image|
|Work with PDF Documents in Java|