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. PDF is an open standard, and anyone may write applications that can read or write PDFs royalty-free.
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.
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 precisely 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
loop are removed, while graphics commands such as
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 PostScript interpreter. However the entire PostScript 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.
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, and there is a more direct correspondence between changes to items in the PDF page description and changes to the resulting appearance of the page. Also, PDF (starting from version 1.4) supports true object transparency while PostScript does not. 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.
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 such as Envoy, Common Ground Digital Paper , DjVu and even Adobe's own PostScript file format (.ps). 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.
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 2D, is based on both the Display PostScript standard and PDF, and is sometimes referred to as Display PDF . 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 intrinsically accessible 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. Using the reflow feature, tagged PDF documents behave much like HTML.
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, and also means that an HTML file will not necessarily look exactly the same in different browsers. PDF without applying reflow, on the other hand, is strictly concerned with describing the content of a document such that the original layout and typesetting are fully preserved.
Since many content providers do not like the fluid nature of HTML rendering, PDF without reflow has been widespread to force a particular layout. With HTML the same can be achieved by using a raster graphics (or recently, SVG, a vector graphics standard) 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 without reflow 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 and tagged PDF with reflow, a larger font size is used and lines re-wrap accordingly to fit the browser window.
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, some search engines, such as Google and Yahoo!, include PDF files in searches. The option to view the PDF in HTML format is also commonly offered (this conversion does not include images).
Mac OS X, having PDF as a core element of the operating system, 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.
Types of content
A PDF file for e.g. a map is often a combination of vector graphics layer, text, and raster graphics, e.g., the general reference map of the US 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 – scalable, 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 in raster graphics).
An example of a PDF map without raster graphics is the CIA World Factbook's map of the Arctic. In the same publication's European map, the blue of the sea is not "filled" neatly to the vector graphics coast line, but just raster graphics, giving a cruder result (noticeable when highly zoomed in).
Tools exist, such as pdfimages (bundled with Xpdf) to extract the raster images from a PDF file. This can be extremely useful if the PDF is simply a collection of scanned pages.
iText - Converter in Java.
PDFlib - leading programming library for automatically generating PDF on the server (broad languages and platform support).
gnujpdf - Java converter.
Xpdf - A PDF viewer.
PDFTOHTML - A PDF to HTML convertor. Based on Xpdf.
DDAP - Lots of information about PDF/X formats designed for reliable exchange of documents for printing including the popular PDF/X-1a and PDF/X-3.
AIIM - Information about PDF/A specification for archiving.
Free and open source software
Preview 3 - PDF viewer for Mac OS X
Evince - A document viewer for GNOME that can view PDF-files.
GPdf - PDF viewer for GNOME
Xpdf - PDF viewer for the X Window System
KPDF - Xpdf-based PDF viewer for KDE
Adobe® Reader - Adobe's PDF Reader
Foxit - Free small and fast PDF reader (Windows)
pdftk - A GPL tool for manipulating PDF files.
Closed source software
Go2PDF - Freeware virtual printer driver.
Last updated: 05-07-2005 10:06:47
Last updated: 05-13-2005 07:56:04