Strangely, this kinda makes sense. PDF is based on PostScript, which is a file type (also by Adobe) that gets sent to printers. It’s just skipping the final “send to printer” part and sends it to a file instead.
A fascinating thing (in a scary way) is that PostScript is technically a full programming language with loops, functions, logic, and a built-in font rendering and 2D graphics engine. When a document is printed using PostScript, your computer generates a script to lay out the page, that the printer runs in order to produce the document!
PDF is essentially “the safe parts” of PostScript - the same 2D graphics engine but with all the dynamic parts removed. PDFs are statically laid out when they’re created, rather than having to run arbitrary code to lay them out like PostScript does.
PDF does support JavaScript code, but it’s rarely used and needs to be granted permission to run. It’s not a core part of the format.
For printing, PCL has somewhat taken over and it’s less scary - it just has preset commands rather than allowing arbitrary code in a full programming language. PostScript is still used today for higher-end printers and print jobs though.
A fascinating thing (in a scary way) is that PostScript is technically a full programming language with loops, functions, logic, and a built-in font rendering and 2D graphics engine.
It also had a extension to create NextStep UI with it.
It wasn’t really an extension… The nextstep user interface was just written in postscript and objective-C.
This is how the nextstep UI was so smooth and sharp and so well built for design, especially output to print. And how that translated to macOS (although the graphics display subsystem and macOS is based on the more advanced PDF, not postscript). It’s also part of the entire print sub systems, and how it was always so easy to create a PDF in the manner the OP suggests. That functionality was really only added to other operating systems later with plugins.
I’ve seen some pretty feature rich PDFs - before WebGIS got really good, people would often disseminate digital maps and geographic reports via GeospatialPDF which is an extension for PDF. You can do all kinds of stuff in there related to measuring distances, coordinate transformations and zoom/pan around the maps. Some of these files would end up being >500MB. Probably still used quite a lot field work I imagine.
Strangely, this kinda makes sense. PDF is based on PostScript, which is a file type (also by Adobe) that gets sent to printers. It’s just skipping the final “send to printer” part and sends it to a file instead.
A fascinating thing (in a scary way) is that PostScript is technically a full programming language with loops, functions, logic, and a built-in font rendering and 2D graphics engine. When a document is printed using PostScript, your computer generates a script to lay out the page, that the printer runs in order to produce the document!
PDF is essentially “the safe parts” of PostScript - the same 2D graphics engine but with all the dynamic parts removed. PDFs are statically laid out when they’re created, rather than having to run arbitrary code to lay them out like PostScript does.
PDF does support JavaScript code, but it’s rarely used and needs to be granted permission to run. It’s not a core part of the format.
For printing, PCL has somewhat taken over and it’s less scary - it just has preset commands rather than allowing arbitrary code in a full programming language. PostScript is still used today for higher-end printers and print jobs though.
It also had a extension to create NextStep UI with it.
It wasn’t really an extension… The nextstep user interface was just written in postscript and objective-C.
This is how the nextstep UI was so smooth and sharp and so well built for design, especially output to print. And how that translated to macOS (although the graphics display subsystem and macOS is based on the more advanced PDF, not postscript). It’s also part of the entire print sub systems, and how it was always so easy to create a PDF in the manner the OP suggests. That functionality was really only added to other operating systems later with plugins.
I’ve seen some pretty feature rich PDFs - before WebGIS got really good, people would often disseminate digital maps and geographic reports via GeospatialPDF which is an extension for PDF. You can do all kinds of stuff in there related to measuring distances, coordinate transformations and zoom/pan around the maps. Some of these files would end up being >500MB. Probably still used quite a lot field work I imagine.