PDF: Difference between revisions

[accepted revision][accepted revision]
Content deleted Content added
→‎PostScript language: Changing my mind, removing cites from paragraph, only one of those three sentences is directly supported by source
Fixing citations
Line 45:
== History ==
{{Main|History of PDF}}
 
Development of PDF began in 1991 when [[John Warnock]] wrote a paper for a project then code-named Camelot, in which he proposed the creation of a simplified version of PostScript called Interchange PostScript (IPS).<ref name="Pfiffner_Page_137">{{cite book |last1=Pfiffner |first1=Pamela |title=Inside the Publishing Revolution: The Adobe Story |date=2003 |publisher=Peachpit Press |location=Berkeley |isbn=0-321-11564-3 |page=137}}</ref> Unlike traditional PostScript, which was tightly focused on rendering print jobs to output devices, IPS would be optimized for displaying pages to any screen and any platform.<ref name="Pfiffner_Page_137" />
 
[[Adobe Systems]] made the PDF specification available free of charge in 1993. In the early years PDF was popular mainly in [[desktop publishing]] workflows, and competed with several other formats, including [[DjVu]], [[Envoy (WordPerfect)|Envoy]], Common Ground Digital Paper, Farallon Replica and even Adobe's own PostScript format.
Line 74 ⟶ 76:
 
=== PostScript language ===
[[PostScript]] is a [[page description language]] run in an [[Interpreter (computing)|interpreter]] to generate an image.<ref name="Pfiffner_Page_138Pfiffner_Page_137">{{cite book |last1=Pfiffner |first1=Pamela |title=Inside the Publishing Revolution: The Adobe Story |date=2003 |publisher=Peachpit Press |location=Berkeley |isbn=0-321-11564-3 |page=139}}</ref> It can handle graphics and has standard features of [[programming language]]s such as [[conditional (computer programming)|branching]] and [[loop (computing)|looping]].<ref name="Pfiffner_Page_138Pfiffner_Page_137" /> PDF is a subset of PostScript, simplified to remove such [[control flow]] features, while graphics commands remain.<ref name="Pfiffner_Page_138Pfiffner_Page_137" />
 
PostScript was originally designed for a drastically different [[use case]]: transmission of one-way linear [[print job]]s in which the PostScript interpreter would collect a series of commands until it encountered the <code>showpage</code> command, then execute all the commands to render a page as a [[Raster graphics|raster image]] to a printing device.<ref name="Pfiffner_Page_139">{{cite book |last1=Pfiffner |first1=Pamela |title=Inside the Publishing Revolution: The Adobe Story |date=2003 |publisher=Peachpit Press |location=Berkeley |isbn=0-321-11564-3 |page=139}}</ref> PostScript was not intended for long-term storage and real-time interactive rendering of [[electronic document]]s to [[computer monitor]]s, so there was no need to support anything other than consecutive rendering of pages.<ref name="Pfiffner_Page_139" /> If there was an error in the final printed output, the user would correct it at the application level and send a new print job in the form of an entirely new PostScript file. Thus, any given page in a PostScript file could be accurately rendered only as the cumulative result of executing all preceding commands to draw all previous pages—any of which could affect subsequent pages—plus the commands to draw that particular page, and there was no easy way to bypass that process to skip around to different pages.<ref name="Pfiffner_Page_139" />