Skip to content
Aback Tools Logo

PDF Specification Reference

Quick reference for PDF 1.0-2.0 specification features, operators, and keywords. Search by name or description, filter by PDF version and category, and expand any entry to see the exact syntax and a copy-paste example - all client-side, no file upload required.

PDF Specification Reference
Quick reference for PDF 1.0-2.0 operators, keywords, and dictionary entries. Search by name, filter by category or PDF version, and expand any entry to see syntax and copy-paste examples.
Showing 93 of 93 entries

Text Operators(17)

Path Construction(7)

Path Painting(10)

Color Operators(12)

Clip Operators(2)

General Graphics State(10)

Special Graphics State(1)

Document Structure(6)

Security & Encryption(2)

Font & Text(5)

Form Fields (AcroForm)(2)

Transparency(2)

Optional Content (Layers)(2)

Metadata & XMP(2)

Tagged PDF(3)

Content Streams(1)

Image & XObject(2)

Signature & Certification(2)

Marked Content(5)

Why Use Our PDF Specification Reference?

Instant Search Across All Entries

The PDF specification reference lets you search operators, keywords, syntax, and descriptions in real time. Type "fill", "font", or "encrypt" and every matching entry appears instantly - no page reloads, no external lookups required.

Filter by Version and Category

Narrow the PDF specification reference to only the operators available in PDF 1.4, or only text operators, in two clicks. Perfect for checking compatibility before targeting a specific PDF version in your document generator or parser.

Syntax and Copy-Paste Examples

Every entry in the PDF specification reference includes the exact syntax signature and a ready-to-use example you can copy directly into a content stream or test harness - no hunting through 750-page ISO documents.

100% Private - No Upload Required

The PDF specification reference runs entirely in your browser. No server calls, no account, no data transmission. All operator data is bundled client-side so it works offline once loaded - completely private by design.

Common Use Cases for PDF Specification Reference

PDF Generator Development

Use the PDF specification reference while writing a PDF content stream generator to look up the exact operator signatures - q/Q for state saves, Tf/Tj for text rendering, re/f for rectangles - without switching between browser tabs and a 700-page PDF.

Debugging Content Stream Errors

When a PDF viewer reports a malformed content stream, look up the specific operator in the PDF specification reference to verify argument order and count. Knowing that c takes 6 arguments (not 4) fixes the bug instantly.

Security & Encryption Auditing

Use the Security & Encryption category to review the /Encrypt dictionary structure, permissions bitmask fields, and algorithm version codes before implementing or auditing a PDF security handler in your application.

Tagged PDF & Accessibility Implementation

Look up the full list of standard structure element types (P, H1-H6, Table, Figure, Form, Link) and their attributes when implementing PDF/UA-1 or WCAG-compliant tagged PDF generation in document workflows.

Learning PDF Internals

The PDF specification reference makes PDF internals approachable. Browse the Document Structure category to understand how /Catalog, /Pages, /Page, and cross-reference tables connect - then read the PDF header entry to understand the binary file format.

Version Compatibility Planning

Use the version filter to check which features are available in PDF 1.4 vs. 1.7 vs. 2.0. Verify that transparency (PDF 1.4), Optional Content Groups (PDF 1.5), or AES-256 native (PDF 2.0) are supported by your target viewer before using them.

Understanding the PDF Specification

What is the PDF Specification?

The PDF specification defines the structure and semantics of the Portable Document Format. Originally published by Adobe (versions 1.0-1.6), PDF 1.7 was standardized as ISO 32000-1:2008 and PDF 2.0 as ISO 32000-2:2017. The specification covers three layers: the file structure (objects, cross-reference tables, trailers), the document structure (catalog, page tree, fonts, resources), and the content stream (PostScript-like operators that paint text, graphics, and images onto pages). Every PDF reader and writer must implement this specification to ensure correct rendering and interoperability across platforms.

How PDF Content Streams Work

  1. Graphics State: Each page has a graphics state stack (managed with q / Q). State parameters - line width, color, font, transformation matrix - are set by dedicated operators and apply to all subsequent drawing operations until changed or popped.
  2. Path Construction and Painting: Paths are built using construction operators (m, l, c, re) and then painted by a painting operator (S stroke, f fill, B fill+stroke, n no paint). Only one painting operation can follow each path construction sequence.
  3. Text Rendering: Text output occurs between BT and ET. The font is set with Tf, position with Td or Tm, and characters are shown with Tj or TJ. Font resources must be declared in the page's /Resources /Font dictionary.

Key Dictionary Types and Their Roles

  • /Catalog: The root object of every PDF - referenced from the trailer /Root key. Contains /Pages, optional /AcroForm, /Outlines, /Names, /MarkInfo, /OCProperties, /Lang, and /Metadata.
  • /Page: Defines one page. Required keys are /Parent and /MediaBox. The /Contents stream (or array of streams) holds the page's content stream operators. /Resources declares fonts, XObjects, color spaces, patterns, and ExtGState dictionaries used by the content stream.
  • /Font (Type0/Type1/TrueType): Fonts must be declared in /Resources before use. Type 0 composite fonts support Unicode via CIDFont descendants and are required for CJK text. A /ToUnicode CMap is needed for reliable text extraction and accessibility.
  • /Encrypt: Present in the trailer when password security is applied. /V and /R control the algorithm; /O and /U store password verifiers; /P is the 32-bit permissions bitmask controlling printing, copying, and modification rights.

PDF Versions, Standards, and Privacy

PDF versions 1.0-1.6 were proprietary Adobe specifications. PDF 1.7 (ISO 32000-1, 2008) was the first open standard. PDF 2.0 (ISO 32000-2, 2017) deprecated XFA forms, removed proprietary Adobe extensions, added native AES-256 encryption, and clarified Unicode normalization. Sub-formats built on PDF include PDF/A (ISO 19005 - archival), PDF/X (ISO 15930 - print exchange), PDF/UA (ISO 14289 - accessibility), and PDF/E (ISO 24517 - engineering). This reference tool runs entirely in your browser - no data is sent to any server and no file upload is required.

Frequently Asked Questions About PDF Specification Reference

A PDF content stream operator is a keyword (like Tj, f, or rg) that instructs a PDF renderer to perform a specific drawing action - showing text, painting a path, or setting a color. Operators appear in the /Contents stream of a page and closely resemble PostScript. Each operator is preceded by its arguments (e.g., "1 0 0 rg" sets the fill color to red using DeviceRGB).

PDF 1.7 (ISO 32000-1, published 2008) was the first fully open PDF standard, consolidating Adobe's specifications from versions 1.0 through 1.7. PDF 2.0 (ISO 32000-2, published 2017) removes deprecated Adobe proprietary extensions (including XFA forms), adds native AES-256 encryption without the vendor extension mechanism, clarifies Unicode normalization requirements, introduces new structure element types for tagged PDF, and adds the Associated Files feature. PDF 2.0 is designed to be a cleaner, fully open standard without vendor lock-in.

A /ToUnicode CMap maps each character code in a font to its Unicode code point. Without it, PDF viewers and text-extraction tools must guess the meaning of each glyph from font name heuristics, which is unreliable - especially for CJK text or custom-encoded fonts. /ToUnicode is required for reliable copy-paste, search, accessibility (screen readers), and text extraction. PDF/UA-1 and PDF/A-2 both mandate correct /ToUnicode entries for all fonts with text content.

Both f and f* fill the current path, but they use different rules for determining which regions are "inside" the path. f uses the nonzero winding number rule, which counts signed crossings of a ray from a point to determine inside/outside - useful for most standard shapes. f* uses the even-odd rule, which counts all crossings regardless of direction - useful for shapes with holes or complex self-intersections like star shapes.

An ExtGState (Extended Graphics State) dictionary stores graphics state parameters that cannot be set by dedicated operators - including transparency (alpha constant /ca and /CA), blend mode (/BM), soft mask (/SMask), stroke adjustment (/SA), overprint settings (/OP), and transfer functions. To use these parameters, you declare an ExtGState resource in /Resources, then invoke it with the gs operator (e.g., /GS1 gs). This is required for any PDF with transparency or blending.

Tagged PDF adds a logical structure tree to a PDF, mapping content stream elements to semantic roles - paragraphs (/P), headings (/H1-/H6), tables (/Table, /TR, /TH, /TD), figures (/Figure), and lists (/L, /LI). This structure enables screen readers to read content in the correct order, allows text reflow on mobile devices, and is required by PDF/UA-1 (ISO 14289-1) for accessibility compliance. Without tags, a PDF is just a visual presentation with no semantic meaning.

When a PDF is encrypted, an /Encrypt dictionary is added to the trailer. The /Filter key names the security handler (/Standard for password encryption). /V specifies the encryption algorithm version (V=1: RC4-40, V=2: RC4-variable, V=4: AES-128, V=5: AES-256). /O stores the owner password verifier; /U stores the user password verifier. /P is a 32-bit bitmask where each bit controls a permission (printing, copying, form filling, etc.). Encryption covers all stream and string objects except those exempted by /EncryptMetadata.

Optional Content Groups (OCGs) are defined in PDF 1.5 and allow content to be selectively shown or hidden without modifying the content stream. Each OCG has a name (like "English Text" or "Print Layer") and a default visibility state. Content is tagged with /OC references to the OCG. The /OCProperties dictionary in /Catalog lists all OCGs and their default configuration. This enables multilingual documents, print-vs-screen variants, engineering drawings with toggle-able layers, and interactive PDF presentations.

Yes, completely free. No signup, no premium tier, no file upload required. The PDF specification reference runs entirely in your browser - all operator and keyword data is bundled with the page as client-side JavaScript. No data is sent to any server. Use it as many times as you need, including offline after the initial page load.