It’s an old as the hills format, really. The Portable Document Format. PDF. For the basic things, there isn’t all that much to it. We have come to respect using the right tools for the right job, and this is a good thing. However, every once in a while, you need to reach down from the tractor drivers seat, and reach into the dirt and pull out a root. Farmers, they got dirt. Me, I get ones and zeros. Sure it’s messy, but in fact, *someone has to do it*. These specifications don’t appear on their own. Following is an excerpt from the Ver 1.4 reference of the Adobe Specification. It is "Hello World" written in the Adobe "Language" PDF. If you want to go deeper, here’s the link: http://www.adobe.com/devnet/pdf/pdf_reference.html
- Example G.2 is the classic “Hello World” example built from the preceding example. It shows a single line of text consisting of the string Hello World, illustrating the use of fonts and several text-related PDF operators. The string is displayed in 24-point Helvetica; because Helvetica is one of the standard 14 fonts, no font descriptor is needed.
- Table G.2 lists the objects present in this example.
- TABLE G.2 Objects in simple text string example OBJECT NUMBER OBJECT
- TYPE 1 Catalog (document catalog) 2 Outlines (outline dictionary) 3 Pages (page tree node) 4 Page (page object) 5 Content stream 6 Procedure set array 7 Font (Type 1 font)
- Example G.2%PDF−1.41 0 obj > endobj 2 0 obj > endobj 761 3 0 obj > endobj 4 0 obj > >> >> endobj 5 0 obj > stream BT /F1 24 Tf 100 100 Td (Hello World) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj > endobj 762 xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000364 00000 n 0000000466 00000 n 0000000496 00000 n trailer > startxref 625 %%EOF