The PDF Minute

The PDF Minute

By Chas EmerickTechnology
Download on the App Store

The PDF Minute episodes

  • Putting the "Portable" into documents

    When PDF was introduced in 1993, one of the most persistent problems in

    mainstream computing was that reliably publishing documents (either literally
    via printing, or simply electronically distributing them for others to view) was
    hard.

    There were a lot of hurdles:

    • Simply moving a document (whether an office document, Postscript file, or
    • something else) from one computer to another could result in an unreadable or
      unpleasant display.
    • Printers (from consumer models up to high-end
    • typesetters) each had their own proprietary formats and requirements.
    • Many document formats were tied to a single vendor, or a
    • single operating system.

      One of PDF's initial design criteria and fundamental promises was to address

      this family of problems, so that one could distribute and use documents with any
      display, any operating system, and any print device, with confidence that the
      result would remain faithful to the author's intent. This was such a pressing,
      unmet concern that it gave the file type its name: the Portable Document
      Format. Let's talk about how that portability is accomplished.

      Documents are heterogeneous…​

      Most document formats focus on text: oftentimes its logical structure, sometimes

      some aspects of its appearance, and occasionally some metadata. However, for
      a document to be faithfully rendered away from its author's computer, a host of
      other data is needed: fonts, images (if any), vector graphics, essential
      auxillary data, and so on. Documents are definitionally heterogeneous, and
      missing any part of a document's data or dependencies can render it useless.

      The way that web content handles this is by referring to these external data,

      with the expectation that browsers will fetch and integrate them appropriately.
      This is how most non-PDF document formats are also structured: for example,
      Postscript files, PDF's predecessor, refer to fonts and images in a similar way
      as HTML (though using names and sometimes hard-coded relative file paths instead
      of URLs), and those resources have to be carried around alongside the
      document(s) that refer to them. But if a Postscript or HTML file refers to some
      resources that aren't available or have moved unexpectedly, the document's
      rendering will be fundamentally broken.

      …so every PDF carries what it needs​

      PDF's solution to this problem is to avoid referring to external resources

      entirely1. Instead, PDF documents are self-contained: all of the data
      needed to render the document is included, from fonts to images to metadata to
      interactive elements and auxiliary data. Satisfying this most basic premise —
      knowing that a document's resources would always travel with it — clears the
      lowest bar of portability.

      Next time, I'll talk about the (very cool) fundamental structures within every

      PDF document, and how they are designed to support including all of these
      disparate data types and resources in a single container file.

      Rendering documents to different devices is hard…​

      At the time of PDF's introduction, document rendering was done in a bespoke way

      by each individual application, and often was tied to the particular operating
      system and output device being targeted. That is, a word processing program
      would need to use a completely different rendering approach when rendering to a
      display on Windows vs. a display on a Mac vs. sending a document to a printer.

      …so PDF uses an abstract rendering model for all of them​

      Adobe changed that by introducing2 (as part of Postscript) what would later come

      to be known as the Adobe Imaging Model, a high-level procedural rendering
      approach that provided abstractions over the details of operating system and
      output device. The model includes command primitives for drawing text, lines,
      shapes, images, setting fonts, colors, clipping paths, and so on. PDF adopted
      most of the Postscript graphics model's semantics, and then extended it over the
      decades to support new features, media types, and usage patterns.

      It was a good abstraction, in large part because it neatly separated concerns

      between groups with different incentives and requirements: applications could
      target a relatively high-level rendering model, a far simpler task than needing
      to know the details of each class of display or printer they might render to;
      and groups responsible for implementing displays (usually operating system
      vendors) and manufacturing printers could focus on distilling those high-level
      graphics commands into concrete actions to color pixels, move print heads, and
      so on.

      This imaging model was such a successful abstraction that it effectively

      redefined how 2D graphics are programmed and rendered. If you've done any
      graphics programming in the last 30 years, you've benefitted from the results of
      that progress, as you've surely used a library or API that provides a similar
      abstraction; the Adobe Imaging Model was the direct precursor to the most
      widely-used modern 2D graphics APIs like Java's Graphics2D, .NET's
      System.Drawing, Skia's Canvas, and the web-standard canvas API. We'll talk
      a lot about this graphics model in future posts.

      Proprietary document formats actively prevent portability…​

      Before PDF, most document formats were proprietary, and choices were regularly made

      by vendors to use document formats as competitive leverage, usually to the
      detriment of users' interests.

      Microsoft Word was a particularly notorious offender, as

      there was not a single "Word document format", but rather a matrix of format
      variations depending on the version of Word and the operating system being used,
      each with its own quirks and limitations when it came to importing other variants.
      While this was a great benefit to Microsoft's Word and Windows businesses, it was
      a nightmare for users who needed to share documents with others using different
      programs or operating systems.

      When Adobe first introduced PDF in 1993, it could have kept the format strictly

      proprietary, so that only Adobe and its designated partners could implement PDF
      generators, viewers, and so on. After all, other peer companies and file formats
      (e.g. Microsoft with Word, Apple with QuickTime) had taken that approach, to
      great commercial success.

      …so PDF was "open" from the start​

      Instead of introducing yet another proprietary file format, Adobe did two things

      with PDF that were quite unusual:

      1. They published a detailed specification of the format in 1993, including the
      2. algorithms and data structures used to encode and decode PDF documents.
        Further, they explicitly encouraged software vendors, printer manufacturers,
        and others to adopt and implement PDF. This was a big deal: it meant that
        anyone could write software to read or write PDF documents, without needing
        to reverse engineer the format. This made it possible for a wide variety of
        software to support PDF, from word processors and web browsers to
        printers and image editors.
      3. Later, in 2008, Adobe submitted the PDF specification to the International
      4. Standards Organization (ISO), where it was accepted as an open standard, and
        has since been further refined and expanded in concert among a diversity of
        interested vendors. As part of this, Adobe also issued a public patent
        license3, where they explicitly swore off any claim to enforce
        patents that covered technologies within the PDF standard4.

        If Adobe had treated PDF as a strictly proprietary format, existing only to

        enrich themselves and provide them with a unique competitive advantage, I don't
        think PDF would be as widely-used as it is today. More importantly, though,
        without a coordinated expectation of "openness" (however vaguely defined or
        informal in the early days), and then the tangible commitment to remove all
        remaining proprietary interests from the PDF landscape5, it's
        likely that other vendors and groups would have attempted to create
        mutually-incompatible PDF variants over time.

        Such fragmentation would have significantly degraded the real-world portability

        of PDF documents: just imagine if Microsoft or Apple or Google had successfully
        pushed their own incompatible PDF variants (or some other wholly-different
        document format6), to the extent that "real" PDF documents were no longer
        guaranteed to render correctly on Windows, or Mac, or iPhone or Android devices.
        The promise of PDF's portability would have been broken.

        PDF effectively solved the problem of document portability by addressing

        these three fundamental issues: structurally guaranteeing that document
        resources would always move with the document; disentangling document rendering
        from any particular display, device, or operating system via an abstract
        rendering model; and by being first an open and then a standardized
        specification that anyone could implement. This accomplishment did not come
        without its own set of tradeoffs, which we'll come back to in later posts.

        Footnotes​
        1. PDF documents are allowed by refer to certain types of resources

          using file paths, but this rare practice is a concession to certain specialized
          workflows where it would be extremely costly to repeatedly embed
          frequently-updated resources on every edit. ↩

        2. The actual graphics model was first introduced in a 1982 paper,

          published well before Adobe was ever founded.
          'A device independent graphics imaging model for use with raster
          devices' is a short paper,
          easy to read, and is very worth taking in to better understand the design
          decisions that underpin the graphics model, and thus, PDF itself. ↩

        3. https://www.adobe.com/pdf/pdfs/ISO32000-1PublicPatentLicense.pdf ↩

        4. Prior to this, Adobe had made informal assurances about their

          disinterest in enforcing PDF-related patents against third party vendors and
          open source projects that implemented PDF support. Those assurances were not
          legally binding, so the formal patent grant took the legal risk associated
          with implementing PDF software off the table for good. ↩

        5. This is not to say that Adobe has not benefitted from making PDF an

          open standard. They have, and continue to do so, in many ways. However, the
          point is that the benefits of making PDF an open standard have been widely
          distributed, and have accrued to many parties, not just Adobe. ↩

        6. Microsoft did try to push their own document format, XPS, as a

          competitor to PDF. It never gained significant traction, and Microsoft has since
          deprecated it. ↩

          9 min
        7. A podcast about PDFs? In this economy?

          How do you think about PDF documents? Many people talk about PDF as "old" or

          "boring". These sentiments aren't necessarily wrong, so why would anyone be
          interested in a blog or podcast about PDFs? Why talk about PDFs at all, their inner
          workings, history, and how PDFs affect modern society in so many ways? And why
          now, when so many other technologies seem more exciting, relevant, or important?

          Before we get started in exploring the dark forest that is PDF, this first post

          is meant to unpack some answers to those whys.

          Why talk about PDF?​

          Architecture diagram not to scale. Image credit: xkcd #2347

          The easy answer to this question is that PDFs are ✨everywhere✨. Every family,

          every nation, every culture, every business and organization depends upon PDFs
          in some way. The scale of PDF usage is so vast that it's hard to overstate.
          If you are curious about the world around you, anything as widely used as PDFs
          is worth understanding to some degree.

          Some basic facts will help more than hyperbole though, so:

          • PDFs are the most-used document format in the world, by a wide margin.
          • Adobe's 2020 10-K filing with the U.S. Securities and Exchange
            Commission
            estimated that trillions of PDF documents are generated every year (yes,
            "trillions" with a 't').
          • PDF is among the most mainstream, front-of-mind technologies. The word "PDF"
          • is one of the most-searched-for terms on the web, even surpassing some of the
            most popular consumer technology brands, like "iphone" and "android". This is
            not what a niche or dying technology looks like:

            Worldwide relative (Google) search interest in "PDF", "iPhone", and

            "Android", January 2005 - January 2025. Retrieved from Google
            Trends
            January 2025.

            So, PDFs are widely used — perhaps one of the most widely used consumer-facing

            technologies ever, for that matter — and that usage and PDF's mindshare among
            the public seems as high as it could possibly be.

            PDF is semi-permanent infrastructure​

            While it's useful to understand the scale of PDF's mindshare and usage like any

            other popular technology, there are ways in which PDF is more like permanent
            infrastructure, with a lifespan measurable in human generations.

            At least three factors make this a reasonable characterization of PDF:

            No PDF alternatives exist​

            The last serious effort at an alternative to PDF was Microsoft's

            XPS in the
            mid-aughts (now called OpenXPS, after its standardization retirement to the
            ECMA standards body, to be published as a
            standard just
            once,
            in 2009), and it never gained any real traction.

            Beyond XPS, PDF alternatives have only ever been successfully fielded to serve

            relatively niche use cases, such as ebook formats like ePub and .mobi.

            PDF technologies are stable​

            Compared to the churn we've all become accustomed to in software libraries,

            frameworks, programming languages, consumer computing hardware, and even
            instruction sets and operating systems, PDF as a living platform for its
            constituent technologies has been remarkably stable: a PDF generated in 1991
            when Adobe first introduced the format is still a completely functional document
            today, even using the most modern tools. Few things in computing can make
            similar claims.

            PDF is a living standard in industry and government​

            While originally created as a published but proprietary Adobe technology, PDF

            has been an ISO standard since 2008,
            revised in 2020, and has additionally
            seen domain-specific subsets of the PDF standard
            (PDF/A,
            PDF/E,
            PDF/UA,
            PDF/VT,
            and PDF/X, all of which we'll get
            acquainted with in later posts) published more than a dozen times.

            Meanwhile, PDF has been enshrined via statute and regulation by many governments

            around the world as the preferred (and sometime only) document format for
            official publications, legal agreements, archives, and so on.

            Given all this, I fully expect not just my children to use and rely on PDFs

            throughout their lives, but (if they come to be) my grandchildren as well.
            Making a prediction like this about almost any other technology in computing
            would be foolish, but this one feels quite safe.

            Why talk about PDF now?​

            People often talk about PDF as being "mature", and not in a good way. Many

            would (and do) call it "boring". I have occasionally been guilty of the same;
            even though most of my professional life has been built around PDFs, that
            familiarity (and some occasional shiny-object FOMO) has sometimes bred contempt.
            Certainly compared to faster-moving lanes of the tech world, PDF might seem like
            a backwater.

            However, like any long-lived infrastructure that's mostly taken for granted,

            once you lift the cover on PDF, there's a wealth of fascinating history and
            technologies inside that are worth exploring and learning about:

            • As a publishing medium, parts of PDF have their roots in typography and
            • principles of printing that go back to the invention of the printing press.
            • As a programmable document format, PDF incorporates lessons learned in
            • programming language theory and information architecture that are not only
              still relevant, but oftentimes sorely lacking in modern software practices.
            • As a container format, PDF incorporates dozens of other technologies to
            • produce complete documents: image formats and rasters, color spaces, font
              rendering, and encryption and digital signature standards and techniques all
              play their part.
            • As a global standard, PDF has grown up alongside and incorporated the best
            • practices of internationalization, including support for
              every kind of human script, and right-to-left and bidirectional text.
            • And, as common infrastructure that touches every single industry
            • in the world, often in very sensitive places, PDF has a significant impact on
              how businesses and organizations operate, how they're structured, and how they
              interact with each other.

              There is a beautiful depth to what PDF is, how it works, and the ways it

              affects us all. It deserves to be more widely understood. And yet, outside of
              a handful of insider-y industry blogs, there is little to no media dedicated to
              exploring it. I hope to change that, here…and of course, now is always the
              best time to start anything.

              Why me?​
              Chas Emerick

              For almost 25 years, I've been building tools to work with PDF documents —

              creating, "editing", converting, searching, obfuscating, extracting data from,
              and redacting them. Most of that work has been at
              Snowtide, where I've been the lead engineer for a
              loooong time on PDFxStream, a PDF data extraction
              library for Java and .NET. In the process, I've had the opportunity to work with
              a wide variety of customers and use cases, seeing PDF used and abused in ways
              I'm sure the original designers never intended.

              As a side hobby, I've also spent some considerable amount of time learning of

              the history of PDF: the context in which it was initially created,
              the functional predecessors that informed its design, and so on.

              All that experience means that I've seen the best and worst of what PDFs have to

              offer, in dozens of industries and roles. I know how the PDF format itself is
              designed, and how to engineer tools to work with it well.

              I'm hoping to make the content here at The PDF Minute reflect that experience, and

              hopefully in time it will become an accessible educational resource for anyone
              that wants to better understand how PDF documents work, why they are the way
              they are, and how they influence and enable large swaths of modern society.

              I'll be publishing here weekly, each time exploring one aspect of PDF's history,

              technologies, or impact on society. Every post will also be available in
              podcast form, as this one is. I hope you decide to join me on this little side quest,
              and subscribe — either to the blog via its RSS feed
              or mailing list, or to the podcast via your favorite podcast app — and follow
              The PDF Minute on Twitter, Mastodon, and Bluesky to know when new content drops, and
              to ask your own questions about PDF and related topics, maybe to be discussed in
              future posts.

              9 min

            About The PDF Minute

            From the publisher's feed

            A weekly 5-10 minute dive into all of the interesting, useful, terrifying and beautiful aspects of PDF documents, how they work, and how they impact and enable so much of the modern world. Hosted by…