We have been working with PDF files since 1999 and developed complex software to display PDF files. We have learnt a lot about the PDF file format in that time and share our knowledge in the articles below.
If you are interested in using our software to display your PDF documents (we can rasterize them, convert them to HTML5 or SVG, or provide a complete Java PDF Viewer) pdf why not setup a call with us and see if we can help?
Here is an overview of the topics covered in this article:
- Quick Tutorials
- Frequently Asked Questions
- The PDF File itself
- Images in PDF
- Color handling in PDF
- Text in PDF
- Fonts in PDF
- PDF Forms, Annotations & Interactive Elements
- PDF Encryption
- PDF compression
- Make your own PDF file manually
How to solve common PDF tasks in Java with the JPedal Java PDF Api
How to convert a PDF file to an image
How to rasterize PDF files
How to search a PDF file
How to print a PDF file
How to access PDF metadata
How to extract text from PDF files
How to extract structured text from PDF files
How to create or edit Annotations in a PDF file
How to extract images from a PDF file
How to extract clipped Images from a PDF file
How to copy bookmarks from one PDF to another
How to find PDF page size
How to view PDF files
How to extract PDF file form data
Questions developers often ask us
Why can’t I just open and edit a PDF File?
How do I find out the PDF version used?
What is a PDF renderer?
What is a tagged PDF?
How big is a PDF Page in bytes?
What does an OCR PDF file contain?
What is PDF Pagesize? CropBox, MediaBox, ArtBox, BleedBox, TrimBox?
How to calculate PDF Page Size in Inches or Centimetres?
Why is my PDF Producer showing in Chinese?
How to Embed PDF files in HTML Web Pages
How to Compare PDF files
How to handle corrupt PDF files
This section covers the actual file format and how it works
How to view PDF objects
How to read a PDF file
Where do your PDF objects start in a PDF file?
Understanding the PDF file format – Text, shapes and images
What are PDF Object Streams?
Multiple Trailers in a PDF File
What are PDF Xref tables?
Understanding PDF Text Objects
How does a decodeArray work on Images?
What is a PDF Dictionary?
What is a Linearized PDF File?
What are Form XObjects?
How are stacks used in PDF files?
How to identify a PDF File
No Startxref found in last 1024 bytes?
How to Embed your own data in PDF files
Why writing a PDF parser is such a challenging task (Part 234)
This section explores image related topics in the PDF File format
How are images stored in a PDF file?
What are Blend Modes in PDF files?
What are PDF Image Masks?
How to calculate PDF Image DPI?
How to extract Raw JPEG Images from a PDF File?
How do Filter and DecodeParms Objects change a PDF Image?
Color support inside PDF files is very powerful and complex.
How Text is stored, displayed and extracted from a PDF file
How is text stored in a PDF file?
Why is pdf text extraction problematic?
What is Unicode?
What text format and style information is in a PDF file?
How to find out if a PDF file contains ‘structured content’
What does the ActualText dictionary tag do?
How do PDF Text Coordinates work?
How are carriage returns, spaces and other gaps defined in a PDF file?
PDF Mystery – What is the correct value for a Text Field?
PDF Text extraction – Why can I not extract text from a PDF file?
How are text links defined in a PDF file?
How are Text spaces created in a PDF file?
PDF files can use three different font technologies for display
Introductory PDF font tutorial
Introduction to PDF Font Technologies
How are Embedded CMAP tables defined in a PDF File?
What are CID Fonts?
What are subsetted fonts in PDF files?
Where do PDF viewers get font data for non-embedded fonts?
Problems caused by arial fonts in PDF files
How does TrueType Hinting work?
Why are CID Fonts far more complicated than non-CID Fonts?
PDF files can contain interactive elements with Forms and Annotations
What are PDF Forms?
What are AcroForms?
What are XFA Forms?
How do PDF files add interactive elements?
How do Layers work in a PDF file?
Is it possible to extract flattened form data from a PDF file?
PDF Form Names explained
What is PDF Form Flattening?
How to display PDF forms in a browser
PDF files can have their content protected using encryption.
PDF files use CCITT, DCT, Flate, LZW and other forms of Compression to reduce the size of a PDF file.
One of our developers bravely set out to write the ‘Hello World’ tutorial of PDF files, creating a PDF file from scratch manually, in a text editor. Follow the series:
Part 1: PDF Objects and Data Types
Part 2: Structure of a PDF file
Part 2.5: Create a non working PDF
Part 3: DIY Blank Page
Part 4: Hello World Pdf
Part 5: Path objects
Part 6: Graphics State
How to edit PDF files using Incremental Updates
Our software libraries allow you to
|Convert PDF files to HTML
|Use PDF Forms in a web browser
|Convert PDF Documents to an image
|Work with PDF Documents in Java
|Read and write HEIC and other Image formats in Java