Here at IDRSolutions we spend a lot of time working on the development of our Java PDF library (JPedal) and our PDF to HTML5 and SVG converter (JPDF2HTML5). As part of this months back to basics series we thought it would be a good idea to start with the explanation of what PDF files are, and the amount of limited support for Java and PDF files.
What are PDF files?
PDF Files were developed in the early 1990s and they were used as to share documents such as text formatting and in-line images. They still remain complex binary files which have been created according to the version of the Adobe PDF reference guides.
You’ll often see product manuals, E books, job applications and all sorts of other documents available in PDF format. This is because they can contain images and text, interactive buttons, hyperlinks, embedded fonts, video and more.
People mainly use PDF files because they do not rely on the software that created them. This makes sharing PDF files across platforms easier. For example, if you open a PDF on a mobile or tablet device you will be able to view it’s the same way as you would on a Linux or Windows machine
What is the file structure of a PDF File?
PDF files consist of various objects which can be read very quickly. Each object has its own ID, most of the time the generation is zero but not always. There are lots of different types of for example a ‘page’ object will describe a particular page, a ‘Font’ object contains all the information about specific font etc. However, objects can reference other objects. For example Page object 5 0 R might reference resources object 10 O R which contains a list of Font objects for the page.
How much support does Java have for PDF files?
Unfortunately there is very little support the Java and PDF files. However, Java can still do a brilliant job with PDF files when you have the right tools. As I mentioned above PDF files can be quite complex and with out the right tools it can make it difficult to do things such as viewing, printing and extracting text etc.
Next week we will be discussing PDF creation and the difficulties you can run in to when creating your own PDF files and how you can over come them.