Portable Document Format (PDF) is a file format developed by Adobe Systems for representing documents in a manner that is independent of the original application software, hardware, and operating system used to create those documents. A PDF file can describe documents containing any combination of text, graphics, and images in a device independent and resolution independent format. These documents can be one page or thousands of pages, very simple or extremely complex with a rich use of fonts, graphics, colour, and images.
Free readers for many platforms are available for download from the Adobe website, and there are several free open source readers, including Xpdf for POSIX-like systems with the X Window System; GPdf, a derivative of Xpdf for GNOME; GSPdf and ViewPDF, for GNUstep; and front-ends for many platforms to Ghostscript, q.v.
Technology
PDF is primarily the combination of three technologies:
- a cut-down form of PostScript for generating the layout and graphics,
- a font-embedding/replacement system to allow fonts to travel with the documents, and
- a structured storage system to bundle these elements into a single file, with data compression where appropriate.
PostScript is a computer language -- or more accurately a page description language -- that is run in an interpreter to generate an image. This process requires a fair amount of resources.
PDF is a subset of those PostScript language elements that define the graphics, and only requires a very simple interpreter. For instance, flow control commands like if
and loop
are removed, while graphics commands such as lineto
remain.
That means that the process of turning PDF back into a graphic is a matter of simply reading the description, rather than running a program in the PS interpreter. However the entire PS world in terms of fonts, layout and measurement remains intact.
Often the PostScript-like PDF code is generated from a source PostScript file. The graphics commands that the PS code outputs are collected and tokenized, any files, graphics or fonts the document references are also collected, and then everything is compressed into a single file.
Advantages
As a document format, PDF has several advantages over PostScript. One is that a document resides in a single file, whereas the same document in PostScript may span multiple files (graphics, etc.) and probably occupies more space. In addition, PDF contains already-interpreted results of the PostScript source code, so it is less computation-intensive and faster to open. Finally, if displayed with Adobe Reader, a font-substitution strategy ensures the document will be readable even if the end-user does not have the "proper" fonts installed.
History
When PDF first came out, in the early 1990s, it was slow to catch on. At the time, not only did the only PDF creation tools of the time (Acrobat) cost money, but so did the software to view and print PDF files. Additionally, there were competing formats. Adobe started distributing the Acrobat Reader program at no cost, and continued to support PDF through its slow multi-year ramp-up. Competing formats eventually died out, and PDF became a well-accepted standard.
Macintosh
PDF was selected as the "native" metafile format for Mac OS X, replacing the PICT format of the earlier Mac OS. Mac OS X's imaging model, Quartz, is based on both the Display PostScript standard and PDF, and is sometimes referred to as DisplayPDF. Due to OS support, all OS X applications can create PDF documents automatically as long as they support the Print command.
PDF and accessibility
PDF is not intrinsically inaccessible to people with disabilities. Current PDF file formats can include tags (essentially XML), text equivalents, captions and audio descriptions, and other accessibility features. Some software, such as Adobe InDesign, can output tagged PDFs automatically. Leading screen readers, including Jaws, Window-Eyes, and Hal, can read tagged PDFs; current versions of the Acrobat and Acrobat Reader programs can also read PDFs out loud. Moreover, tagged PDFs can be reflowed and zoomed for low-vision readers.
However, many problems remain, not least of which is the difficulty in adding tags to existing or "legacy" PDFs. Moreover, that process itself is inaccessible. Nonetheless, well-made PDFs can be a valid choice as long-term accessible documents.
Comparison between PDF and HTML
PDF and HTML are not equivalent technologies, but are both commonly found on the Web.
HTML is a method for describing the content of a webpage in a manner that is open to interpretation by the browser which renders it on the user's screen. This permits content to be rendered to suit the viewer rather than the content provider. PDF on the other hand is strictly concerned with describing the content of a document such that the original intention of its author is fully preserved.
Since many content providers do not like the fluid nature of HTML rendering, PDF has become widespread to force a particular layout. With HTML the same can be achieved by using a raster graphics image to present text, but then the text can not be copied as such, nor can a subtext be searched within it. Use of images also leads to larger file sizes. (Sometimes the same is done in a PDF file, and the same disadvantages apply.)
A typical example of the differences this leads to for the viewer is with zooming:
- Enlarging a PDF document magnifies the text but preserves the original layout and spacing; a practical limit on zooming follows from the requirement to keep a text column within the width of the screen (otherwise horizontal scrolling would be needed during and after reading each line, which would be very cumbersome).
- With HTML a larger font size is used and lines re-wrap accordingly to fit the browser window. Note, though, that tagged PDFs can be reflowed quite well, keeping columns of text within the viewable area.
Searching for a text in a collection of files
Adobe Acrobat Reader 6.0 allows searching a collection of PDF files.
Using a search program to search for a text in a collection of files of different types, it may or may not be possible to also search PDF files, depending on the program. This is because the text is stored in coded form, and a program searching for some text must interpret the code and search the result, not just search the code. Search programs that do not work include that of Windows XP and Agent Ransack. However, for searching the Web, Google includes PDF files in searches. It offers the option "View as HTML" (this conversion does not include images).
Mac OS X, having PDF as a core part of the OS, fully supports searching PDF files with the Preview application, used to view PDF files. The Spotlight feature in the upcoming OS X 10.4 promises to extend this ability across the whole operating system, allowing information in PDF files (as well as almost all others) to be found from a single search box.
Layers
A PDF file for e.g. a map is often a combination of a vector graphics layer and text, and possibly a raster graphics layer. E.g., the general reference map of the US [1] uses:
- vector graphics for coastlines, lakes, rivers, highways, markings of cities, and Interstate highway symbols - on zooming in, the curves remain sharp, they do not appear as consisting of enlarged pixels (i.e. rectangles of pixels)
- text stored as such - ditto, and also one can copy the text
- raster graphics for showing mountain relief - on zooming in, this consists of enlarged pixels (the blue of the sea and lakes is "filled" neatly to the vector graphics coast line, hence not part of this raster graphics layer)
An example of a PDF map without raster graphics is [2]. In the map [3] the blue of the sea is not "filled" neatly to the vector graphics coast line, but just part of the raster graphics layer, giving a cruder result (noticeable when highly zoomed in).
Tools
- Doc2pdf - email robot
- gnujpdf
- Go2PDF
- GNOME PDF Viewer
- iText - Java
- libharu - C/C++
- OpenOffice.org can transform many types of documents into PDF documents
- OttoPDF
- Panda library
- PDFBox - Java
- PDFCreator - a GPL PDF printer driver for Windows
- PDF/X-3 Inspector
- PJX
- sharpPDF - C#
- PDF Viewer for X
See also
External links
- The Camelot Project
- Adobe: Postscript vs. PDF (Dead link as of 2004)
- Adobe: Postscript vs. PDF (Archive.org copy)
- PDF Specification
- PDF/X Frequently asked questions
- Planet PDF
- PDF zone
- PDF-Worker
- Online viewer for PDF, PostScript and Word
- PDF Creator - a program to create PDF files.
This article has been created using material from FOLDOC.