Internal and external links

A link draws nothing, so nothing on a page proves it is there: only following it does. That is what makes links the part of a document most often broken without anybody noticing — the file is created again, the pages shift by one, and every line of the contents now lands a page early.

So this document is made to be followed rather than looked at. Open it and click: every line of the contents lands on the page it names, every page leads back to where it came from, and the address pointing outwards opens a site. The same list stands in the panel of bookmarks beside the page — desktop reading software such as Adobe Acrobat Reader keeps that panel open, the reading software built into a browser hides it behind a button.

What this example shows

  • A contents page whose lines land on the pages they name.
  • One address that leaves the document and opens a site.
  • The same list again in the panel of bookmarks beside the page.

The source code, complete

Nothing is left out and nothing is simplified: this is the program exactly as it runs, for the developer who uses this library. The third is the description itself: a plain list of what the page has to say, which is what the service is sent.

Read the Rust source Read the Python source Read the JSON source

The document itself

Open the document in English Open the document in French

Internal and external links, first page

Optimised, this document weighs 14.1 kB — at least 85 % lighter than most PDF generators would write it

The document is lighter than it was, and every page still looks exactly the same. See this document's row in the table of every example.

Examples near this one

A slideshow that runs itself

A plain first slide and thirteen more, each stating the effect it arrives by — the twelve the PDF standard (ISO 32000) defines — how long that effect takes and how long the slide stands before the next one comes. The file asks to open full screen, which is where the effects play, and a link on the first slide shows the screen again, brought in by dissolving.

A handbook that says how it wants to be read

Four pages that say how they want to be opened: which page comes up and how much of the window it fills, the chapters beside it, the pages two at a time, a print dialog already filled in — every one of them a wish reading software answers for itself.

Links and marks on placed text

Links and marks hung on text the engine has already placed: a band behind a line, an underline, a boxed cell — every rectangle taken from what the layout and the table report afterwards, none of it measured by hand.

A story that carries on further in

Two stories over two pages: each one begins in a column of the front page and carries on in a column of the second, and the two swap sides on the way. The file says which column follows which, so reading software goes on with the story it is on.

Data Matrix codes

The code industry marks small parts with: still readable at sizes where a QR code has given up, on a circuit board or a phial in a laboratory tray.

Every example, by subject