At IDR Solutions we have being developing a range of PDF software since 1999. We have a Java PDF Viewer and SDK, an Acrobat forms to HTML5 converter, a PDF to HTML5 converter and a Java ImageIO replacement). This has given us a lot of experience with the PDF file format and we have tried to share this knowledge on our blog. If you really want to know what goes on inside PDF files, these articles will give you all the details!
The PDF File Format:
Viewing PDF Objects
PDF Object Streams
Multiple Trailers on PDF Files
PDF Xref Tables Explained
How are images stored?
Linearized PDF Files
Images in PDF:
Images – An Overview
3 Examples of unusual ways to use PDF Image Masks
3 Types of Image Mask
PDF Image DPI
Advantages of JBIG2 compression in PDF explained
There are several version of each image inside your PDF file
Colors in PDF:
Text in PDF:
Fonts in PDF:
PDF Fonts – An Overview
Introduction to PDF Font Technologies
Embedded CMAP Tables
What are CID Fonts?
Custom Font Encodings
Are there really 3 types of fonts in PDF files?
Standard Font Information
Glyph Names – What is in a name?
TrueType Font Hinting
PDF Forms, Annotations & Interactive Elements:
What new PDF developers need to know
Learning about PDF
Text, Shapes and Images
OCR (Optical Character Recognition) PDF files
Bookmarks and Links
What is PDF Pagesize? CropBox, MediaBox, ArtBox, BleedBox, TrimBox?
PDF Format and Style Information
A quick guide to PDF for Java (and non-Java) developers
Why writing a PDF parser is such a challenging task (Part 234)
Searching PDF Files
How do stacks work in PDF files
How do PDF files manage limitless position accuracy of shapes & images?
Make your own PDF file – Hello World:
If you enjoyed this index, we have also have a second, longer index covering all the nitty gritty details and gotchas we have found from over 13 years of working with PDF!
Is there something that we haven’t covered? Leave us a comment and we will see what we can do!
IDRsolutions develop a Java PDF library, a PDF forms to HTML5 converter, a PDF to HTML5 or SVG converter and a Java Image Library that doubles as an ImageIO replacement. On the blog our team post about anything interesting they learn about.