Portable Document Format
Adobe Acrobat Reader displaying a PDF in Debian | |
File extension: | .pdf |
---|---|
MIME type: | application/pdf |
Type code: | 'PDF ' (including a single space) |
Uniform Type Identifier: | com.adobe.pdf |
Magic: | %PDF |
Developed by: | Adobe Systems |
Portable Document Format (PDF) is an open file format created and controlled by Adobe Systems, for representing two-dimensional documents in a device independent and resolution independent fixed-layout document format. Each PDF file encapsulates a complete description of a 2D document (and, with the advent of Acrobat 3D, embedded 3D documents) that includes the text, fonts, images, and 2D vector graphics that compose the document. PDF files do not encode information that is specific to the application software, hardware, or operating system used to create or view the document. This feature ensures that a valid PDF will render exactly the same regardless of its origin or destination (but depending on font availability when fonts are not encapsulated in the file).
Anyone may create applications that read and write PDF files without having to pay royalties to Adobe Systems; Adobe holds a number of patents relating to the PDF format but licenses them on a royalty-free basis for use in developing software that complies with its PDF specification.[1]
PDF files are most appropriately used to encode the exact look of a document in a device-independent way. While the PDF format can describe very simple one page documents, it may also be used for many pages, complex documents that use a variety of different fonts, graphics, colors, and images.
Readers for many platforms are available, such as Xpdf, Foxit and Adobe's own Adobe Reader; there are also front-ends for many platforms to Ghostscript. PDF readers are generally free. There are many software options for creating PDFs, including the PDF printing capability built in to Mac OS X, the multi-platform OpenOffice, numerous PDF print drivers for Microsoft Windows, and Adobe Acrobat itself. There is also specialized software for editing PDF files.
Proper subsets of PDF have been, or are being, standardized under ISO for several constituencies:
- PDF/X for the printing and graphic arts as ISO 15930 (working in ISO TC130)
- PDF/A for archiving in corporate/government/library/etc environments as ISO 19005 (work done in ISO TC171)
- PDF/E for exchange of engineering drawings (work done in ISO TC171)
- PDF/UA for universally accessible PDF files
Technology
PDF is primarily the combination of three technologies:
- a sub-set of the PostScript page description programming language, 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 and any associated content into a single file, with data compression where appropriate.
PostScript
Template:Main PostScript is a computer language — 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 file format instead of a programming language and for that reason it doesn't need to be interpreted. 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 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 are output by the PostScript code are collected and tokenized; any files, graphics or fonts the document references are also collected; and finally everything is compressed into a single file.
As a document format, PDF has several advantages over PostScript:
- Single file: A PDF document resides in a single file, whereas the same document in PostScript may span multiple files (graphics, etc.) and probably occupies more space.
- Already interpreted: 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.
- Object transparency: PDF (starting from version 1.4) supports true transparency while PostScript does not.
- Font substitution: 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. PDF also allows font embedding to ensure that the "proper" fonts are displayed. While this is possible with PostScript, such files cannot normally be distributed freely because of font licensing agreements.
- Independent pages: PostScript is an imperative programming language (with an implicit global state), so instructions with one page can affect the appearance of any following page. It is therefore necessary to interpret all the preceding pages in order to determine the appearance of any given page. Each page in a PDF document is unaffected by any others.
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. Early versions of PDF had no support for external hyperlinks, reducing its usefulness on the web. Additionally, there were competing formats such as Envoy, Common Ground Digital Paper, DjVu and even Adobe's own PostScript format (.ps). Adobe soon started distributing the Acrobat Reader (now Adobe 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.
In 2005 Microsoft presented a similar fixed-layout document format named XML Paper Specification (XPS). XPS is based on XAML, and is distributed along a royalty-free license. XPS support is scheduled to be included in Microsoft Windows Vista.
Mac OS X
PDF was selected as the "native" metafile format for Mac OS X, replacing the PICT format of the earlier Mac OS. The imaging model of the Quartz graphics layer of Mac OS X is based on the model common to Display PostScript and PDF, and is sometimes somewhat confusingly 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. When taking a screenshot under Mac OS X versions 10.0-10.3 the image was also captured as a PDF; in 10.4 the default behaviour is set to capture as a PNG file, though this behaviour can be set back to PDF if required.
PDF and accessibility
One can create PDF files that are 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; for example, if PDFs are generated from scanned documents, accessibility tags and reflowing are unavailable and must be created either by hand or using OCR techniques. Also, these processes themselves are often inaccessible to some people with disabilities. Nonetheless, well-made PDFs can be a valid choice as long-term accessible documents. The PDF/Universal Access Committee, an activity of AIIM, is working on a specification for PDF accessibility based on the PDF 1.6 specification.
Microsoft Word documents can be converted into accessible PDFs, but only if the Word document is written with accessibility in mind - for example, using styles, correct paragraph mark-up and "alt" (alternative) text for images, and so on.
PDF on the Web
Documents described in markup languages such as HTML/XHTML delegate responsibility for many display decisions to the renderer. This means that an XHTML document can render quite differently across various web browser platforms, adapting to the display device (screen/page size, visual or audio or braille rendering). However, even with a given output device and a document that fully specifies its fonts and sizes of borders etc., the appearance of an XHTML document will vary more than the appearance of a PDF document (because of various freedoms that the XHTML specification leaves to implementations: e.g. different font hinting choices lead to different word widths, which influence how many words fit on each line). The desire for greater control over user experience has led many authors to use the more rigid PDF specification to publish online content. This is particularly true for order forms, catalogues, brochures, and other documents which are primarily formatted for printing. The wide availability of Adobe Reader and easy-to-use WYSIWYG PDF authoring have further enticed many (mostly corporate) web authors to publish a wider variety of information as PDF.
Critics of this practice cite several reasons for avoiding it. The major one is that the inflexibility of PDF rendering makes it difficult to read on screen: it does not adapt to the window size nor the reader's preferred font size and font family, as classic XHTML web page does. PDF files tend to be significantly larger than XHTML/SVG files presenting the same information, making it difficult or impossible for users with low-bandwidth connections to view them. Adobe Reader, the de facto standard PDF viewer, has historically been slow to start and caused browser instability, particularly when run alongside other browser plugins (Adobe Reader 7 addressed many of these concerns, but is not available under Windows 98/ME). Adobe Reader is also unavailable in current versions on many alternative operating systems and is distributed under a proprietary license unacceptable to some users. During each major release of Adobe (Acrobat) Reader, the installer package gets significantly larger to support extra features, but users are left without means to selectively install components.
Searching for a text in a collection of files
Adobe Acrobat Reader 6.0 and above allow 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 (however does work once PDF iFilter from Adobe is installed) 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 Mac OS X v10.4 extends this ability across the whole operating system, allowing information in PDF files to be found from a single search box.
On the Windows platform, text in PDF files can be searched Windows Desktop Search when installed with an appropriate iFilter available from Adobe Systems. Google Desktop can also be used for searching text in PDF files, but it only searches about the first 10,000 words of the pdf document. [2]
On the Linux and Unix platforms (and experimental Windows ports), the Beagle provides functionality similar to Apple's Spotlight, including text searching through the content of PDFs. The related program Dashboard (not to be confused with Apple's OS X Dashboard) also looks inside PDFs.
A PDF can only be searchable if it has either been created from an existing electronic document (Word, Excel, etc) containing text, or if a scanned document has been processed by optical character recognition (OCR), sometimes called 'captured' because of the names of components and products from Adobe.
Types of content
A PDF file is often a combination of vector graphics, text, and raster graphics. The basic types on content in a PDF are:
- text stored as such that can be easily copied to another program
- vector graphics for illustrations and designs that consist of shapes and lines
- raster graphics for photographs and other types of image
Tools exist, such as pdfimages (bundled with Xpdf) to extract the raster images from a PDF file. This can be useful if the PDF is a collection of scanned pages. Xpdf can also make raster images from complete pages that included vectors.
In later PDF revisions, a PDF document can also support links (inside document or web page), forms, JavaScript (initially available as plugin for Acrobat 3.0), or any other types of embedded contents that can be handled using plug-ins.
PDF 1.6 supports 3D documents embedded in the PDF that can be interacted with.
Usage restrictions and monitoring
PDFs may be encrypted so that a password is needed to view or edit the contents. The PDF Reference defines both 40-bit and 128-bit encryption, both making use of a complex system of RC4 and MD5. The PDF Reference also defines ways in which third parties can define their own encryption systems for use in PDF.
PDF files may also contain embedded digital restrictions that provide further controls that limit copying, editing or printing. The restrictions on copying, editing, or printing depend on the reader software to obey them, so the security they provide is very limited. Documents that are printable can be printed by using Microsoft Office Document Image Writer to create .mdi files. Image Writer has an OCR to Microsoft Word conversion option that seems to preserve tables and yields files that can be edited.
The PDF Reference has technical details or see [3] for an end-user overview. Like HTML files, PDF files may submit information to a web server. This could be used to track the IP address of the client PC, a process known as phoning home.
Through their LiveCycle Policy Server product, Adobe provides a method to set security policies on specific documents. This can include requiring a user to authenticate and limiting the time frame a document can be accessed or amount of time a document can be opened while offline. Once a PDF document is tied to a policy server and a specific policy, that policy can be changed or revoked by the owner. This controls documents that are otherwise "in the wild." Each document open and close event can also be tracked by the policy server. Policy servers can be set up privately or Adobe offers a public service through Adobe Online Services.
PDF hardware
With the increasing popularity of PDF, some printers also support direct PDF printing, which can interpret PDF data without external help. Currently, all PDF capable printers also support PostScript, but most PostScript printers do not support direct PDF printing.
Criticism
The PDF file format has undergone several changes in its file format, generally as new versions of Adobe Acrobat have been released. There have been seven versions of the PDF format, 1.0 (1993), 1.1 (1994), 1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), and 1.6 (2005). Due to this evolving standard, and the fact that the format was not inherently designed to be forward-compatible (older reader software may not be able to open newer files), the format is criticized for not actually being a "portable format".Template:Citation-needed
See also
- PDF/A
- List of PDF software — Software to handle PDF
- XML Paper Specification (Microsoft's fixed-layout document format)
- Display PostScript
- Scalable Vector Graphics
- XSL-FO
- Comparison of layout engines (XHTML)
- Digital rights management
References
External links
- Template:PDFlink - A white paper from PDF Tools AG with an introduction into what PDF is and its strengths and weaknesses.
- Template:PDFlink - details of the four possible formats generated by Adobe Acrobat Capture 3.0. The title is misleading as it does not describe four different formats of PDF, but rather four different options for PDF creation in one program. The link may be worthy of note because this informal guide has led to the widespread myth that these are, in fact, four (and the only four) different types of PDF file.
Format information
- PDF Reference, also available as a book describing PDF 1.6 (ISBN 0-321-30474-8)
- Adobe: PostScript vs. PDF
- History of PDF at prepressure.com
- The Camelot Paper — the paper in which John Warnock outlined the project that created PDF
Related formats
- PDF/X Frequently asked questions
- PDF/X-3
- PDF-X — Includes PDF/X-1a and PDF/X-3
- AIIM — Information about PDF/A specification for archiving
- AIIM — Information about PDF/E specification for engineering
- AIIM — Information about PDF/UA specification for accessible documents
- Under the Hood of PDF/X-1 by Scott Tully, Vertis, March 21, 2002.