Changes

20,628 bytes added ,  16:54, 7 December 2006
no edit summary
{{Infobox file format
| name = Portable Document Format (PDF)
| icon = [[Image:PDF.png]]
| screenshot = [[Image:acroread.png|300px]]
| caption = [[Adobe Acrobat Reader]] displaying a PDF in [[Debian]]
| extension = <tt>.pdf</tt>
| mime = application/pdf
| typecode = <tt>'PDF '</tt> (including a single space)
| uniform type = com.adobe.pdf
| magic = <code>%PDF</code>
| owner = [[Adobe Systems]]
| genre =
| container for =
| contained by =
| extended from =
| extended to =
}}
'''Portable Document Format''' ('''PDF''') is an [[open standard|open]] [[file format]] created and controlled by [[Adobe Systems]], for representing two-dimensional documents in a [[device independent]] and [[display resolution|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 [[computer software|software]], [[computer hardware|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.[http://partners.adobe.com/public/developer/support/topic_legal_notices.html]

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 [[Platform (computing)|platforms]] are available, such as [[Xpdf]], [[Foxit]] and Adobe's own [[Adobe Acrobat|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.org|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===
{{main|PostScript}}
[[PostScript]] is a [[computer language]] &mdash; more precisely, a [[page description language]] &mdash; that is run in an [[interpreter (computer software)|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 <code>if</code> and <code>loop</code> are removed, while graphics commands such as <code>lineto</code> 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 [[tokenizing|tokenize]]d; 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 (graphic)|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 ([[Adobe Acrobat|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 (WordPerfect)|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. <!-- Since when did publishers start to include PDF ebooks in books' companion CD-ROMs? -->

In [[2005]] [[Microsoft]] presented a similar fixed-layout document format named [[XML Paper Specification]] (XPS). XPS is based on [[Extensible Application Markup Language|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)|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 [[Mac OS X v10.4|10.4]] the default behaviour is set to capture as a [[PNG|PNG]] file, though this behaviour can [[Screenshot#Mac_OS_X|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 reader]]s, 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 [[Optical character recognition|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/[[Scalable Vector Graphics|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 (software)|Preview]] application, used to view PDF files. The [[Spotlight (software)|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 [http://www.adobe.com/support/downloads/detail.jsp?ftpID=2611 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. [http://desktop.google.com/support/bin/answer.py?answer=17208&query=pdf&topic=0&type=f]

On the [[Linux]] and [[Unix]] platforms (and experimental Windows ports), the [[Beagle (software)|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 rights management|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 [http://createpdf.adobe.com/cgi-feeder.pl/help_security?BP=&LOC=en_US] 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 [[phone home|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".{{citation-needed}}

==See also==
*[[PDF/A]]
*[[List of PDF software]] &mdash; Software to handle PDF
*[[XML Paper Specification]] ([[Microsoft]]'s fixed-layout document format)
*[[Display PostScript]]
*[[Scalable Vector Graphics]]
*[[XSL Formatting Objects|XSL-FO]]
*[[Comparison of layout engines (XHTML)]]
*[[Digital rights management]]

==References==
{{FOLDOC}}

==External links==
*{{PDFlink|[http://www.pdf-tools.com/public/downloads/whitepapers/whitepaper-pdfprimer.pdf White Paper: PDF Primer] |176 KiB}} - A white paper from PDF Tools AG with an introduction into what PDF is and its strengths and weaknesses.

*{{PDFlink|[http://www.adobe.com/products/acrcapture/pdfs/aacflavors.pdf Adobe Publication: The Four Flavors of Adobe PDF for Paper-based Documents] |1.00 MiB}} - 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.''

<!-- please help keep this list encyclopedic &mdash; [[Wikipedia:What Wikipedia is not|Wikipedia is not a link repository]]! this includes not adding the PDF software you use/develop; there are dedicated sites for that. Similarly, Google shows over 300 million PDF files on the web, so web sites with some PDF files on are not very notable. &mdash; [[User:boredzo|boredzo]] ([[User talk:boredzo|?]]) 06:05, August 19, 2005 (UTC) -->

===Format information===
*[http://partners.adobe.com/asn/tech/pdf/specifications.jsp PDF Reference], also available as a book describing PDF 1.6 (ISBN 0-321-30474-8)
*[http://www.adobe.com/print/features/psvspdf/main.html Adobe: PostScript vs. PDF]
*[http://www.prepressure.com/pdf/history/history01.htm History of PDF at prepressure.com]
*[http://www.planetpdf.com/enterprise/article.asp?ContentID=6519 The Camelot Paper] &mdash; the paper in which John Warnock outlined the project that created PDF

===Related formats===
*[http://www.globalgraphics.com/products/pdfx/index.html PDF/X Frequently asked questions]
*[http://www.pdfx3.org/ PDF/X-3]
*[http://www.pdf-x.com/ PDF-X] &mdash; Includes PDF/X-1a and PDF/X-3
*[http://www.aiim.org/standards.asp?ID=25013 AIIM ] &mdash; Information about PDF/A specification for archiving
*[http://www.aiim.org/standards.asp?ID=27860 AIIM ] &mdash; Information about PDF/E specification for engineering
*[http://www.aiim.org/standards.asp?ID=27861 AIIM ] &mdash; Information about PDF/UA specification for accessible documents
*[http://www.planetpdf.com/creative/article.asp?contentid=6541 Under the Hood of PDF/X-1] by Scott Tully, Vertis, March 21, 2002.

[[Category:Adobe Systems]]
[[Category:Graphics file formats]]
[[Category:Open formats]]
[[Category:Page description languages]]
[[Category:Vector graphics]]
[[Category:Computer file formats|.pdf]]
3,699

edits