Portable Document Format

Portable Document Format
PDF.png
Filename extension .pdf
Internet media type

application/pdf application/x-pdf application/x-bzpdf

application/x-gzpdf
Type code 'PDF ' (including a single space)
Uniform Type Identifier com.adobe.pdf
Magic number %PDF
Developed by Adobe Systems
Initial release 1993 (1993)
Latest release 1.7
Standard(s) ISO/IEC 32000-1:2008[1]
Website Adobe PDF Reference Archives

Portable Document Format (PDF) is an open standard for document exchange. The file format created by Adobe Systems in 1993 is used for representing two-dimensional documents in a manner independent of the application software, hardware, and operating system.[2] Each PDF file encapsulates a complete description of a fixed-layout 2D document that includes the text, fonts, images, and 2D vector graphics which compose the documents. Lately, 3D drawings can be embedded to PDF documents with Acrobat 3D using U3D or PRC and various other data formats.[3][4]

In 1991 Adobe Systems co-founder John Warnock outlined a system called "Camelot",[5] that evolved into the Portable Document Format (PDF) file-format.

Formerly a proprietary format, PDF was officially released as an open standard on July 1, 2008, and published by the International Organization for Standardization as ISO/IEC 32000-1:2008.[6][1]

Contents

History

PDF's adoption in the early days of the format's history was slow.[7] Adobe Acrobat, Adobe's suite for reading and creating PDFs, was not freely available; early versions of PDF had no support for external hyperlinks, reducing its usefulness on the Internet; the additional size of the PDF document compared to plain text meant significantly longer download times over the slower modems common at the time, and rendering the files was slow on less powerful machines. Additionally, there were competing formats such as Envoy, Common Ground Digital Paper, Farallon Replica and even Adobe's own PostScript format (.ps); in those early years, the PDF file was mainly popular in desktop publishing workflow. In 1995, AT&T Labs commenced work on another electronic document standard targeted at libraries and archives for preserving their books and documents, DjVu. This standard has evolved into the .djv/ .djvu format, which has had growing success and penetration in the online world for eBooks, catalogs, and image-sharing.

Adobe soon started distributing its Acrobat Reader (now Adobe Reader) program at no cost, and continued supporting the original PDF, which eventually became the de facto standard for printable documents on the web (a standard web document).

The PDF file format has changed several times and continues to evolve, as new versions of Adobe Acrobat were released. There have been nine versions of PDF with corresponding Acrobat releases:[8]

The ISO 32000-1:2008 PDF open standard was published by the ISO on July 1, 2008. PDF is now a published ISO standard, titled Document management—Portable document format—Part 1: PDF 1.7

According to the ISO PDF standard abstract:

ISO 32000-1:2008 specifies a digital form for representing electronic documents to enable users to exchange and view electronic documents independent of the environment in which they were created or the environment in which they are viewed or printed. It is intended for the developer of software that creates PDF files (conforming writers), software that reads existing PDF files and interprets their contents for display and interaction (conforming readers) and PDF products that read and/or write PDF files for a variety of other purposes (conforming products).

A new version named "PDF 2.0" is currently under development (ISO/NP 32000-2 - Document management—Portable document format—Part 2: PDF 2.0).[9]

Technical foundations

Anyone may create applications that can read and write PDF files without having to pay royalties to Adobe Systems; Adobe holds patents to PDF, but licenses them for royalty-free use in developing software complying with its PDF specification.[10]

The PDF combines three technologies:

PostScript

PostScript is a page description language run in an interpreter to generate an image, a process requiring many resources. PDF is a file format, not a programming language, so that flow control commands such as if and loop are removed, while graphics commands such as lineto remain.

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 to which the document refers also are collected; then, everything is compressed to a single file. Therefore, the entire PostScript world (fonts, layout, measurements) remains intact.

As a document format, PDF has several advantages over PostScript:

Technical overview

File structure

A PDF file consists primarily of objects, of which there are eight types:[11]

Objects may be either direct (embedded in another object) or indirect. Indirect objects are numbered with an object number and a generation number. An index table called the xref table gives the byte offset of each indirect object from the start of the file.[12] This design allows for efficient random access to the objects in the file, and also allows for small changes to be made without rewriting the entire file (incremental update). Beginning with PDF version 1.5, indirect objects may also be located in special streams known as object streams. This technique reduces the size of files that have large numbers of small indirect objects and is especially useful for Tagged PDF.

There are two layouts to the PDF files—non-linear (not "optimized") and linear ("optimized"). Non-linear PDF files consume less disk space than their linear counterparts, though they are slower to access because portions of the data required to assemble pages of the document are scattered throughout the PDF file. Linear PDF files (also called "optimized" or "web optimized" PDF files) are constructed in a manner that enables them to be read in a Web browser plugin without waiting for the entire file to download, since they are written to disk in a linear (as in page order) fashion.[13] PDF files may be optimized using Adobe Acrobat software or pdfopt, which is part of GPL Ghostscript.

Imaging model

The basic design of how graphics are represented in PDF is very similar to that of PostScript, except for the use of transparency, which was added in PDF 1.4.

PDF graphics use a device independent Cartesian coordinate system to describe the surface of a page. A PDF page description can use a matrix to scale, rotate, or skew graphical elements. A key concept in PDF is that of the graphics state, which is a collection of graphical parameters that may be changed, saved, and restored by a page description. PDF has (as of version 1.6) 24 graphics state properties, of which some of the most important are:

Vector graphics

Vector graphics in PDF, as in PostScript, are constructed with paths. Paths are usually composed of lines and cubic Bézier curves, but can also be constructed from the outlines of text. Unlike PostScript, PDF does not allow a single path to mix text outlines with lines and curves. Paths can be stroked, filled, or used for clipping. Strokes and fills can use any color set in the graphics state, including patterns.

PDF supports several types of patterns. The simplest is the tiling pattern in which a piece of artwork is specified to be drawn repeatedly. This may be a colored tiling pattern, with the colors specified in the pattern object, or an uncolored tiling pattern, which defers color specification to the time the pattern is drawn. Beginning with PDF 1.3 there is also a shading pattern, which draws continuously varying colors. There are seven types of shading pattern of which the simplest are the axial shade (Type 2) and radial shade (Type 3).

Raster images

Raster images in PDF (called Image XObjects) are represented by dictionaries with an associated stream. The dictionary describes properties of the image, and the stream contains the image data. (Less commonly, a raster image may be embedded directly in a page description as an inline image.) Images are typically filtered for compression purposes. Image filters supported in PDF include the general purpose filters

and the image-specific filters

Normally all image content in a PDF is embedded in the file. But PDF allows image data to be stored in external files by the use of external streams or Alternate Images. Standardized subsets of PDF, including PDF/A and PDF/X, prohibit these techniques.

Raster images can be exported using applications such as pdfimages from the xpdf/poppler package,[14] or using the "Export All Images" function in the "Advanced" menu of Adobe Acrobat,[15] version 6 or later.[16]

Text

Text in PDF is represented by text elements in page content streams. A text element specifies that characters should be drawn at certain positions. The characters are specified using the encoding of a selected font resource.

Fonts

A font object in PDF is a description of a digital typeface. It may either describe the characteristics of a typeface, or it may include an embedded font file. The latter case is called an embedded font while the former is called an unembedded font. The font files that may be embedded are based on widely used standard digital font formats: Type 1 (and its compressed variant CFF), TrueType, and (beginning with PDF 1.6) OpenType. Additionally PDF supports the Type 3 variant in which the components of the font are described by PDF graphic operators.

Encodings

Within text strings, characters are shown using character codes (integers) that map to glyphs in the current font using an encoding. There are a number of predefined encodings, including WinAnsi, MacRoman, and a large number of encodings for East Asian languages, and a font can have its own built-in encoding. (Although the WinAnsi and MacRoman encodings are derived from the historical properties of the Windows and Macintosh operating systems, fonts using these encodings work equally well on any platform.) PDF can specify a predefined encoding to use, the font's built-in encoding or provide a lookup table of differences to a predefined or built-in encoding (not recommended with TrueType fonts).[17] The encoding mechanisms in PDF were designed for Type 1 fonts, and the rules for applying them to TrueType fonts are complex.

For large fonts or fonts with non-standard glyphs, the special encodings Identity-H (for horizontal writing) and Identity-V (for vertical) are used. With such fonts it is necessary to provide a ToUnicode table if semantic information about the characters is to be preserved.

Transparency

The original imaging model of PDF was, like PostScript's, opaque: each object drawn on the page completely replaced anything previously marked in the same location. In PDF 1.4 the imaging model was extended to allow transparency. When transparency is used, new objects interact with previously marked objects to produce blending effects. The addition of transparency to PDF was done by means of new extensions that were designed to be ignored in products written to the PDF 1.3 and earlier specifications. As a result, files that use a small amount of transparency might view acceptably in older viewers, but files making extensive use of transparency could view completely wrongly in an older viewer without warning.

The transparency extensions are based on the key concepts of transparency groups, blending modes, shape, and alpha. The model is closely aligned with the features of Adobe Illustrator version 9. The blend modes were based on those used by Adobe Photoshop at the time. When the PDF 1.4 specification was published the formulas for calculating blend modes were kept secret by Adobe. They have since been published.[18]

The concept of a transparency group in PDF specification is independent of existing notions of "group" or "layer" in applications such as Adobe Illustrator. Those groupings reflect logical relationships among objects that are meaningful when editing those objects, but they are not part of the imaging model.

Interactive elements

PDF files may contain interactive elements such as annotations and form fields.

Interactive Forms is a mechanism to add forms to the PDF file format.

PDF currently supports two different methods for integrating data and PDF forms. Both formats today coexist in PDF specification:[19][20][21][22][23]

AcroForms

AcroForms were introduced in the PDF 1.2 format.[25] AcroForms permit using objects (text boxes, radiobuttons, etc.) and some code (JavaScript).

Alongside the standard PDF action types, Interactive forms (AcroForms) support submitting, resetting, and importing data. Submit action transmits the names and values of selected interactive form fields to a specified uniform resource locator (URL). Interactive form field names and values may be submitted in any of the following formats, (depending on the settings of the action’s ExportFormat, SubmitPDF, and XFDF flags):[20]

AcroForms can keep form field values in external stand-alone files containing key:value pairs. The external files may use Forms Data Format (FDF) and XML Forms Data Format (XFDF) files.[26][27][28] The usage rights (UR) signatures define rights for import form data files in FDF, XFDF and text (CSV/TSV) formats, and export form data files in FDF and XFDF formats.[20]

Forms Data Format (FDF)
Forms Data Format (FDF)
Filename extension .fdf
Internet media type application/vnd.fdf[29]
Type code 'FDF '
Developed by Adobe Systems
Initial release 1996 (1996) (PDF 1.2)
Extended from PDF
Extended to XFDF
Standard(s) ISO/IEC 32000-1:2008

The Forms Data Format (FDF) is based on PDF, it uses the same syntax and has essentially the same file structure, but is much simpler than PDF, since the body of an FDF document consists of only one required object. Forms Data Format is defined in PDF format specification (since PDF 1.2). The Forms Data Format can be used when submitting form data to a server, receiving the response, and incorporating into the interactive form. It can also be used to export form data to stand-alone files that can be imported back into the corresponding PDF interactive form. Beginning in PDF 1.3, FDF can be used to define a container for annotations that are separate from the PDF document to which they apply. FDF is typically used to encapsulate information such as X.509 certificates, requests for certificates, directory settings, timestamp server settings, and embedded PDF files for network transmission.[28] The FDF uses the MIME content type application/vnd.fdf, filename extension .fdf and on Mac OS it uses file type 'FDF '.[20] A support for importing and exporting FDF stand-alone files is not widely implemented in free or freeware PDF software. For example, there is no support in Evince, Okular, KPDF or Sumatra PDF. Import support for stand-alone FDF files is implemented in Adobe Reader; export and import support (including saving of FDF data in PDF) is for example implemented in Foxit Reader and PDF-XChange Viewer Free; saving of FDF data in a PDF file is also supported in pdftk.

XML Forms Data Format (XFDF)
XML Forms Data Format (XFDF)
Filename extension .xfdf
Internet media type application/vnd.adobe.xfdf[30]
Type code 'XFDF'
Developed by Adobe Systems
Latest release 2.0
Extended from PDF, FDF, XML
Website XFDF 2.0 specification

XML Forms Data Format (XFDF) is the XML version of Forms Data Format, but the XFDF implements only a subset of FDF containing forms and annotations. There are not XFDF equivalents for some entries in the FDF dictionary - such as the Status, Encoding, JavaScript, Pages keys, EmbeddedFDFs, Differences and Target. The XFDF specification is referenced (but not included) in PDF 1.5 specification (and in later versions). It is described separately in XML Forms Data Format Specification[27]. The PDF 1.4 specification allowed form submissions in XML format, but this was replaced by submissions in XFDF format in PDF 1.5 specification. XFDF conforms to the XML standard. XFDF can be used the same way as FDF - e.g. form data is submitted to a server, modifications are made, then sent back and the new form data is imported in an interactive form. It can also be used to export form data to stand-alone files that can be imported back into the corresponding PDF interactive form. A support for importing and exporting FDF stand-alone files is not widely implemented in free or freeware PDF software. Import of XFDF is implemented in Adobe Reader 5 and later versions; import and export is implemented in PDF-XChange Viewer Free; embedding of XFDF data in PDF form is implemented in pdftk (pdf toolkit).

Adobe XML Forms Architecture (XFA)

In the PDF 1.5 format, Adobe Systems introduced a new, proprietary format for forms, namely Adobe XML Forms Architecture (XFA) forms. The XFA 2.02 is referenced in the PDF 1.5 specification (and also in later versions) but is described separately in Adobe XML Forms Architecture (XFA) Specification, which has several versions.[25][31] Adobe XFA Forms are not compatible with AcroForms. Creating XFA Forms for use in Adobe Reader requires Adobe LiveCycle Forms Designer.[19][32] Adobe Reader contains "disabled features" for use of XFA Forms, that will activate only when opening a PDF document that was created using enabling technology available only from Adobe.[33][34] The XFA Forms are not compatible with Adobe Reader prior to version 6.[19]

XFA forms can be created and used as PDF files or as XDP (XML Data Package) files. The format of an XFA resource in PDF is described by the XML Data Package Specification.[20] The XDP may be a standalone document or it may in turn be carried inside a PDF document. XDP provides a mechanism for packaging form components within a surrounding XML container. An XDP can also package a PDF file, along with XML form and template data.[31] PDF may contain XFA (in XDP format), but also XFA may contain PDF.[31] When the XFA (XML Forms Architecture) grammars used for an XFA form are moved from one application to another, they must be packaged as an XML Data Package.[35]

When the PDF and XFA are combined, the result is a form in which each page of the XFA form overlays a PDF background. This architecture is sometimes referred to as XFAF (XFA Foreground). The alternative is to express all of the form, including boilerplate, directly in XFA. It is sometimes called full XFA.[35]

Starting with PDF 1.5, the text contents of variable text form fields, as well as markup annotations may include formatting information (style information). These rich text strings are XML documents that conform to the rich text conventions specified for the XML Forms Architecture specification 2.02, which is itself a subset of the XHTML 1.0 specification, augmented with a restricted set of CSS2 style attributes.[20] In PDF 1.6, PDF supports the rich text elements and attributes specified in the XML Forms Architecture (XFA) Specification, 2.2. In PDF 1.7, PDF supports the rich text elements and attributes specified in the XML Forms Architecture (XFA) Specification, 2.4[20]

Logical structure and accessibility

A PDF may contain structure information to enable better text extraction and accessibility. When published, PDF/UA, now ISO/AWI 14289, will provide definitive information on how the contents of PDF files are to be tagged with accurate structure information.

Security and signatures

A PDF file may be encrypted for security, or digitally signed for authentication.

The standard security provided by Acrobat PDF consists of two different methods and two different passwords, "user password" and "owner password". A PDF document may be protected by password to open ('user' password) and the document may also specify operations that should be restricted even when the document is decrypted: printing; copying text and graphics out of the document; modifying the document; and adding or modifying text notes and AcroForm fields (using 'owner' password). However, all operations (except the document open password protection, if applicable) which are restricted by "owner" or "user" passwords are trivially circumvented by many commonly available "PDF cracking" software and even freely online,[36] and thus these restrictions are obviously ineffective in letting the author control what can and cannot be done with the pdf file he or she created, once it is distributed. This warning is also displayed when applying such restrictions using Adobe Acrobat software to create or edit PDF files.

Even without removing the password, most freeware or open source PDF readers will ignore the digital rights management "protections" and will allow the user to print or make copy of excerpts of the text as if the document were not limited with such anti-features.

Usage rights

Beginning with PDF 1.5, Usage rights (UR) signatures are used to enable additional interactive features that are not available by default in a particular PDF viewer application. The signature is used to validate that the permissions have been granted by a bonafide granting authority. For example, it can be used to allow a user:[20]

For example, Adobe Systems grants permissions to enable additional features in Adobe Reader, using public-key cryptography. Adobe Reader will verify that the signature uses a certificate from an Adobe-authorized certificate authority. The PDF 1.5 specification declares that other PDF viewer applications are free to use this same mechanism for their own purposes.[20]

File attachments

PDF files can have document-level and page-level file attachments, which the reader can access and open or save to their local filesystem. PDF attachments can be added to existing PDF files for example using pdftk. Adobe Reader provides support for attachments, and poppler based readers like Evince or Okular also have some support for document-level attachments.

Metadata

PDF files can contain two types of metadata.[37] The first is the Document Information Dictionary, a set of key/value fields such as author, title, subject, creation and update dates. This is stored in the optional Info trailer of the file. A small set of fields is defined, and can be extended with additional text values if required.

Later, in PDF 1.4, support was added for the Metadata Streams, using the Extensible Metadata Platform (XMP) to add XML standards-based extensible metadata as used in other file formats. This allows metadata to be attached to any stream in the document, such as information about embedded illustrations, as well as the whole document (attaching to the document catalog), using an extensible schema.

Subsets

Proper subsets of PDF have been, or are being, standardized under ISO for several constituencies:

A PDF/H variant (PDF for Healthcare) is being developed.[38] However, it may consist more of a set of "best practices" than of a specific format or subset.

Mars

See also: Page description markup language

Adobe is exploring an XML-based next-generation PDF code named Mars.[39] Information about the Mars file format is published by Adobe at http://www.adobe.com/go/mars and also http://labs.adobe.com/wiki/index.php/Mars.

The format of graphic elements of Mars is sometimes described simply as "SVG", but according to the version 0.8 draft specification of November 2007 (§3 Mars SVG Support) the format is actually merely similar to SVG: it contains both additions to and subtractions from SVG, so it is in general neither viewable by nor creatable with standard SVG tools: some things will look noticeably different between SVG viewers and Mars viewers.

Technical issues

Accessibility

PDF files can be created specifically to be accessible for disabled people.[40][41][42][43][44] Current PDF file formats can include tags (XML), text equivalents, captions, audio descriptions, et cetera. Some software can automatically produce tagged PDFs, however this feature is not always enabled by default. Leading screen readers, including JAWS, Window-Eyes, Hal, and Kurzweil 1000 and 3000 can read tagged PDFs; current versions of the Acrobat and Acrobat Reader programs can also read PDFs aloud.[45][46][47] Moreover, tagged PDFs can be re-flowed and magnified for readers with visual impairments. Problems remain with adding tags to older PDFs and those that are generated from scanned documents. In these cases, accessibility tags and re-flowing are unavailable, and must be created either manually or with OCR techniques. These processes are inaccessible to some disabled people. PDF/UA, the PDF/Universal Accessibility Committee, an activity of AIIM, is working on a specification for PDF accessibility based on ISO 32000.

One of the significant challenges with PDF accessibility is that PDF documents have three distinct views, which, depending on the document's creation, can be inconsistent with each other. The three views are (i) the physical view, (ii) the tags view, and (iii) the content view. The physical view is displayed and printed (what most people consider a PDF document). The tags view is what screen readers read (useful for people with poor eyesight). The content view is displayed when the document is re-flowed to Acrobat (useful for people with mobility disability). For a PDF document to be accessible, the three views must be consistent with each other.[48]

Security

PDF format attachments carrying viruses were first discovered in 2001. This virus, named "OUTLOOK.PDFWorm" or "Peachy", uses Microsoft Outlook to send itself as an attachment to an Adobe PDF file. It was activated with Adobe Acrobat, but not with Acrobat Reader.[49]

From time to time, new vulnerabilities are discovered[50] in various versions of Adobe Reader, prompting the company to issue security fixes. One aggravating factor is that Adobe Reader is by default integrated into browsers, and can be started automatically if the web page has an embedded PDF file, opening up a new vector of attack. If a malicious web page contains an infected PDF file that takes advantage of some vulnerability in Adobe Reader, the system is compromised even if the browser is up-to-date.

On March 30, 2010 security researcher Didier Stevens reported an "exploit" that causes an arbitrary executable to be run when a PDF file is opened, after the user accepts a warning prompt. The exploit works in several different PDF viewers including Adobe Reader and Foxit Reader.[51]

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 DRM 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 limited. Printable documents especially might be saved instead as bitmaps and subject to OCR.

The PDF Reference has technical details or see [52] 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. After update 7.0.5 to Acrobat Reader, the user will be notified "via a dialogue box that the author of the file is auditing usage of the file, and be offered the option of continuing."[53]

Through its 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 timeframe 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.

Missing PostScript features

Compared to the PostScript format, PDF lacks e.g. the notion of "tray selection"; this can be used to indicate that some pages of a document must be printed on a different type of paper.

Such features are not omissions from the PDF format, whose scope only covers electronic documents. The JDF standard covers such aspects; however, it is a complex standard, which as of 2010 is not widely implemented. This hinders the replacement of PostScript by PDF.

Default display settings

PDF documents can contain display settings, including the page display layout and zoom level. Adobe Reader will use these settings to override the user's default settings when opening the document.[54] The free Adobe Reader cannot remove these settings.

Content

A PDF file is often a combination of vector graphics, text, and raster graphics. The basic types of content in a PDF are:

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 interactive 3D documents embedded in the PDF - 3D drawings can be embedded using U3D or PRC and various other data formats.[3][4]

Two PDF files that look similar on a computer screen may be of very different sizes. For example, a high resolution raster image takes more space than a low resolution one. Typically higher resolution is needed for printing documents than for displaying them on screen. Other things that may increase the size of a file is embedding full fonts, especially for Asiatic scripts, and storing text as graphics.

Standard Type 1 Fonts

There are fourteen typefaces that have a special significance to PDF documents:

These fonts, sometimes referred to as the "base fourteen fonts"[55] should always be present (actually present or a close substitute) and so need not be embedded in a PDF.[56] PDF viewers must know about the metrics of these fonts. Other fonts may be substituted if they are not embedded in a PDF.

Versions

Version Year of publication New features Supported by Reader version
1.0 1993 Acrobat Reader (Carousel)
1.1 1996 Passwords, encryption (MD5, RC4 40bit), device-independent color, threads and links[57] Acrobat Reader 2.0
1.2 1996 Interactive page elements (such as radio buttons and checkboxes); interactive, fill-in forms (AcroForm); Forms Data Format (FDF) for interactive form data that can be imported, exported, transmitted and received from the Web; mouse events; support for playing movies from external files; support for playing sounds, either embedded in the PDF file or from external files ; Unicode; advanced color features and image proxying[57] Acrobat Reader 3.0
1.3 2000 Digital signatures; ICC and DeviceN color spaces; JavaScript actions; Embedded file streams - embedding files of any type directly within the body of the PDF file itself (e.g. used for attachments); many new annotation types; new features of the Adobe imaging model embodied in PostScript LanguageLevel 3; Masked images; Alternate representations for a single image; Smooth shading; Enhanced page numbering; Web Capture - a facility for capturing information from World Wide Web and converting it to PDF; Logical structure - a facility for representating logical structure independently of its graphical structure; additional support for CIDFonts; data structures for mapping strings and numbers to PDF objects; Prepress Support - information useful in prepress production workflows; new functions - for several types of function object that represent parameterized classes of functions[58][59] Acrobat Reader 4.0
1.4 2001 JBIG2; transparency; RC4 encryption key lengths greater than 40bits (40-128bits); enhancements to interactive forms and Forms Data Format (FDF), support for XML form submissions, embedded FDF files, Unicode specification of field export values, support for remote collaboration and digital signatures in FDF files; support for accessibility to disabled users; metadata streams using XML - Extensible Metadata Platform (XMP); Tagged PDF ;Facilities for including printer’s marks; Support for the display and preview of production-related page boundaries; New predefined CMaps; Alternate Presentations - alternate ways in which the document may be viewed; The ability to import content from one PDF document into another; EmbeddedFiles entry in the PDF document’s name dictionary - a standard location for the embedded data[59][60]; OCR text layer Acrobat Reader 5.0
1.5 2003 JPEG 2000; enhanced support for embedding and playback of multimedia; object streams; cross reference streams; XML Forms Data Format (XFDF) for interactive form submission (replaced the XML format in PDF 1.4); support for forms, rich text elements and attributes based on Adobe’s XML Forms Architecture (XFA) 2.02; public-key security handlers using PKCS#7 (introduced in PDF 1.3 but not documented in the PDF Reference until PDF 1.5), public-key encryption, permissions - usage rights (UR) signatures (does not require document encryption), PKCS#7 with SHA-1, RSA up to 4096-bits; security handler can use its own encryption and decryption algorithms; Optional Content - sections of content in a PDF document that can be selectively viewed or hidden by document authors or consumers - for items such as CAD drawings, layered artwork, maps, and multi-language documents; Alternate Presentations - the only type is slideshow - invoked by means of JavaScript actions (Adobe Reader supports only SVG 1.0)[59][61][62] Support for Windows 98 dropped. To view and print newer version PDFs, such as those at the IRS website, with older versions of Reader requires downloading in Google Docs "Quick View" simplified PDF format. Adobe Reader 6.0
1.6 2004 3D artwork, e.g. support for Universal 3D file format; OpenType font embedding; support for XFA 2.2 rich text elements and attributes; AES encryption; PKCS#7 with SHA256, DSA up to 4096-bits; NChannel color spaces; additional support for embedded file attachments, including cross-document linking to and from embedded files; enhancements and clarifications to digital signatures related to usage rights and modification detection and prevention signatures[59] Adobe Reader 7.0
1.7 2006 increased presentation of 3D artwork; support for XFA 2.4 rich text elements and attributes; presentation of multiple file attachments (portable collections); document requirements for a PDF consumer application; new string types - PDFDocEncoded string, ASCII string, byte string; PKCS#7 with SHA384, SHA512 and RIPEMD160 Adobe Reader 8
1.7 Extension Level 3 2008 256-bit AES encryption; incorporation of XFA Datasets into a file conforming PDF/A-2; RichMedia annotations - attaching Flash applications, video (including Flash video with H.264), audio, and other multimedia with expanded functionality, two-way scripting bridge between Flash and a conforming application; support for the rich text conventions described in XFA 2.5 and 2.6 Adobe Reader 9
1.7 Extension Level 5 2009 XFA 3.0 Adobe Reader 9.1

Implementations

PDF-viewing software is generally provided free of charge, including versions by Adobe Reader, Foxit Reader, PDF-XChange Viewer, Sorax Reader and others.

There are many software options for creating PDFs, including the PDF printing capabilities built in to Mac OS X and some versions of Linux, the multi-platform OpenOffice.org, Microsoft Office 2007 (if updated to SP2),[63] WordPerfect since version 9, Free PDF XP [64] and numerous PDF print drivers for Microsoft Windows, the pdfTeX typesetting system, the DocBook PDF tools, applications developed around Ghostscript and Adobe Acrobat itself. Google's online office suite Google Docs also allows for uploading, and saving to the PDF format.

Editing PDFs (structure)

There is also specialized software for editing PDF files, though the choices are much more limited and often expensive. As of version 0.46, Inkscape also allows PDF editing through an intermediate translation step involving Poppler.

Annotating PDFs

Adobe Acrobat is one example of proprietary software that allows the user to annotate, highlight, add notes to already created PDF files. One UNIX application available as free software (under the GNU General Public License) is PDFedit. Another GPL-licensed application native to the Linux environment is Xournal. Xournal allows for annotating in different fonts and colours, as well as a rule for quickly underlining and highlighting lines of text or paragraphs. Xournal also has a shape recognition tool for squares, rectangles and circles. In Xournal annotations may be moved, copied and pasted. The freeware Foxit Reader allows annotating but adds a watermark on each annotated page. The commercial version of the package does not have this limitation. Tracker Software's PDF-XChange Viewer allows annotations and markups without restrictions in its freeware alternative. Apple's Mac OS X's integrated PDF viewer, Preview, does also enable annotations. For mobile annotation, iAnnotate PDF for the iPad and Aji Annotate for the iPhone, both produced by Aji, allow annotation of PDFs as well as exporting summaries of the annotations.

There are also web annotation systems which allow to annotate pdf and other documents formats, e.g. A.nnotate, WebNotes.

Other applications and functionalities

Several applications embracing the PDF standard are now available as an online service including Scribd for viewing and storing, Pdfvue for online editing, and Zamzar for PDF Conversion.

In 1993 the Jaws RIP from Global Graphics became the first shipping prepress RIP that interpreted PDF natively without conversion to another format. The company released an upgrade to their Harlequin RIP with the same capability in 1997.

Agfa-Gevaert introduced and shipped Apogee, the first prepress workflow system based on PDF, in 1997.

Many commercial offset printers have accepted the submission of press-ready PDF files as a print source, specifically the PDF/X-1a subset and variations of the same.[65] The submission of press-ready PDF files are a replacement for the problematic need for receiving collected native working files.

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 is based on the model common to Display PostScript and PDF, leading to the nickname "Display PDF". The Preview application can display PDF files, as can version 2.0 and later of the Safari web browser. System-level support for PDF allows Mac OS X applications to create PDF documents automatically, provided they support the Print command. The files are then exported in PDF 1.3 format according to the file header. When taking a screenshot under Mac OS X versions 10.0 through 10.3, the image was also captured as a PDF; in 10.4 and 10.5 the default behaviour is set to capture as a PNG file, though this behaviour can be set back to PDF if required.

Some desktop 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.

The Free Software Foundation considers one of their high priority projects to be "developing a free, high-quality and fully functional set of libraries and programs that implement the PDF file format and associated technologies to the ISO 32000 standard."[66][67] The GNUpdf library has, however, not been released yet, while Poppler has enjoyed wider use in applications such as Evince, which comes with the GNOME desktop environment, at the expense of relying on the GPLv2-licensed Xpdf[68][69] code base that can't be used by GPLv3 programs.

The Apache PDFBox project of the Apache Software Foundation is an open source Java library for working with PDF documents. PDFBox is licensed under the Apache License.[70]

See also

References

  1. 1.0 1.1 "ISO 32000-1:2008 - Document management - Portable document format - Part 1: PDF 1.7". Iso.org. 2008-07-01. http://www.iso.org/iso/catalogue_detail.htm?csnumber=51502. Retrieved 2010-02-21. 
  2. Adobe Systems Incorporated, PDF Reference, Sixth edition, version 1.23 (30 MB), p. 33.
  3. 3.0 3.1 "3D supported formats". Adobe. 2009-07-14. http://www.adobe.com/manufacturing/resources/3dformats/. Retrieved 2010-02-21. 
  4. 4.0 4.1 "Acrobat 3D Developer Center". Adobe. http://www.adobe.com/devnet/acrobat3d/. Retrieved 2010-02-21. 
  5. Warnock, J. (1991). "The Camelot Project" (PDF). PlanetPDF. http://www.planetpdf.com/planetpdf/pdfs/warnock_camelot.pdf. "This document describes the base technology and ideas behind the project named “Camelot.” This project’s goal is to solve a fundamental problem [...] there is no universal way to communicate and view ... printed information electronically." 
  6. Orion, Egan (2007-12-05). "PDF 1.7 is approved as ISO 32000". The Inquirer. The Inquirer. http://www.theinquirer.net/gb/inquirer/news/2007/12/05/pdf-approved-iso-32000. Retrieved 2007-12-05. ; "Adobe wins backing for PDF 1.7". vnunet.com. http://www.vnunet.com/vnunet/news/2205065/pdf-takes-first-step-towards. 
  7. Laurens Leurs. "The history of PDF". http://www.prepressure.com/pdf/basics/history. Retrieved 2007-09-19. 
  8. History of PDF Openness
  9. "ISO/NP 32000-2 - Document management -- Portable document format -- Part 2: PDF 2.0". 2009-10-06. http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=53041. Retrieved 2010-02-24. 
  10. partners.adobe.com - Developer Resources
  11. Adobe Systems, PDF Reference, p. 51.
  12. Adobe Systems, PDF Reference, pp. 39–40.
  13. Adobe – PDF Developer Center: PDF reference
  14. pdfimages: Extract and Save Images From A Portable Document Format ( PDF ) File, Vivek Gite
  15. Export images to another format, Using Acrobat 9 Standard
  16. How To Extract Graphics from a PDF document (Acrobat 6)
  17. "PDF Referencem Sixth Edition, version 1.7, table 5.11". http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference_1-7.pdf. 
  18. PDF Blend Modes Addendum
  19. 19.0 19.1 19.2 19.3 A Quick Introduction to Acrobat Forms Technology, 2006-05-14, http://www.appligent.com/files/faq-whatisthedifferencebetweenacroformaxfa/Acroforms%2BWhitePaper.pdf, retrieved 2010-02-19 
  20. 20.0 20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 Adobe Systems Incorporated (2008-07-01), Document Management – Portable Document Format – Part 1: PDF 1.7, First Edition, http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf, retrieved 2010-02-19 
  21. "Gnu PDF - PDF Knowledge - Forms Data Format". http://gnupdf.org/Forms_Data_Format. Retrieved 2010-02-19. 
  22. "About PDF forms". http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=formsPDF_02.html. Retrieved 2010-02-19. 
  23. "Convert XFA Form to AcroForm?". 2008. http://forums.adobe.com/thread/301733. Retrieved 2010-02-19. 
  24. "Migrating from Adobe Acrobat forms to XML forms". http://partners.adobe.com/public/developer/tips/topic_tip2.html. Retrieved 2010-02-22. 
  25. 25.0 25.1 "What is the difference between Acroforms and XFA?". 2009-03-27. http://www.appligent.com/faq-whatisthedifferencebetweenacroformaxfa. Retrieved 2010-02-19. 
  26. Adobe Systems Incorporated (2007-10-15). "Using Acrobat forms and form data on the web". http://kb2.adobe.com/cps/325/325874.html. Retrieved 2010-02-19. 
  27. 27.0 27.1 (PDF) XML Forms Data Format Specification, version 2, 2007-09, http://partners.adobe.com/public/developer/en/xml/xfdf_2.0.pdf, retrieved 2010-02-19 
  28. 28.0 28.1 (PDF) FDF Data Exchange Specification, 2007-02-08, http://www.adobe.com/devnet/acrobat/pdfs/fdf_data_exchange.pdf, retrieved 2010-02-19 
  29. IANA Application Media Types - vnd.fdf, http://www.iana.org/assignments/media-types/application/, retrieved 2010-02-22 
  30. IANA Application Media Types - Vendor Tree - vnd.adobe.xfdf, http://www.iana.org/assignments/media-types/application/vnd.adobe.xfdf, retrieved 2010-02-22 
  31. 31.0 31.1 31.2 Adobe Systems Incorporated. "Adobe XML Forms Architecture (XFA)". http://partners.adobe.com/public/developer/xml/index_arch.html. Retrieved 2010-02-19. 
  32. "Adobe LiveCycle Reader Extensions ES2". http://www.adobe.com/products/livecycle/readerextensions/. Retrieved 2010-02-19. 
  33. (PDF) Adobe Reader - Software license agreement, http://www.adobe.com/products/eulas/pdfs/Reader_Player_AIR_WWEULA-Combined-20080204_1313.pdf, retrieved 2010-02-19 
  34. "LiveCycle Reader Extensions ES features and benefits". http://www.adobe.com/go/readerextensions. Retrieved 2010-02-19. 
  35. 35.0 35.1 (PDF) XML Forms Architecture (XFA) Specification Version 2.5, 2007-06-08, http://partners.adobe.com/public/developer/en/xml/xfa_spec_2_5.pdf, retrieved 2010-02-19 
  36. FreeMyPDF - A website that removes PDF "user password" restrictions
  37. Adobe PDF reference version 1.7, section 10.2
  38. AIIM (2006-10-20). "New Best Practices Guide Addresses Exchange of Healthcare Information". http://www.aiim.org/ResourceCenter/AIIMNews/PressReleases/article.aspx?ID=34318. Retrieved 2007-03-09. 
  39. Jackson, Joab (2006-12-07). "Adobe plunges PDF into XML". Government Computer News. http://www.gcn.com/blogs/tech/42740.html. Retrieved 2008-01-12. 
  40. "PDF Accessibility". WebAIM. http://www.webaim.org/techniques/acrobat/. Retrieved 2010-04-24. 
  41. Joe Clark (2005-08-22). "Facts and Opinions About PDF Accessibility". http://www.alistapart.com/articles/pdf_accessibility. Retrieved 2010-04-24. 
  42. "Accessibility and PDF documents". Web Accessibility Center. http://wac.osu.edu/pdf/. Retrieved 2010-04-24. 
  43. "PDF Accessibility Standards v1.2". http://www.bbc.co.uk/guidelines/futuremedia/accessibility/accessible_pdf.shtml. Retrieved 2010-04-24. 
  44. (PDF) PDF Accessibility, California State University, http://www.csus.edu/training/handouts/workshops/creating_accessible_pdfs.pdf, retrieved 2010-04-24 
  45. "Adobe Reader 8 - Read a PDF with Read Out Loud". http://help.adobe.com/en_US/Reader/8.0/help.html?content=WS58a04a822e3e50102bd615109794195ff-7d15.html. Retrieved 2010-04-24. 
  46. "Tip of the Week: Adobe Reader’s ‘Read Aloud’ Feature". http://gadgetwise.blogs.nytimes.com/2009/04/10/tip-of-the-week-adobe-readers-read-aloud-feature/. Retrieved 2010-04-24. 
  47. (PDF) Accessing PDF documents with assistive technology: A screen reader user's guide, Adobe, http://www.adobe.com/accessibility/pdfs/accessing-pdf-sr.pdf, retrieved 2010-04-24 
  48. Chris Rusbridge (2008-04-29). "Why PDF is a Hamburger". http://wwmm.ch.cam.ac.uk/blogs/murrayrust/?p=1056. Retrieved 2010-04-24. 
  49. Adobe Forums, Announcement: PDF Attachment Virus "Peachy", 15 August 2001.
  50. "Security bulletins and advisories". Adobe. http://www.adobe.com/support/security/#readerwin. Retrieved 2010-02-21. 
  51. PCmag.com blogs
  52. "Create Adobe PDF Online - Security Settings Help". Createpdf.adobe.com. http://createpdf.adobe.com/cgi-feeder.pl/help_security?BP=&LOC=en_US. Retrieved 2010-02-21. 
  53. New features and issues addressed in the Acrobat 7.0.5 Update (Acrobat and Adobe Reader for Windows and Mac OS)
  54. "Getting Familiar with Adobe Reader > Understanding Preferences". http://www.adobepress.com/articles/article.asp?p=412914. Retrieved 2009-04-22. 
  55. Adobe Acrobat Base 14 Fonts
  56. The PDF Font Aquarium
  57. 57.0 57.1 Adobe Systems Incorporated (1996-11-12) (PDF), Portable Document Format Reference Manual Version 1.2, http://www.pdf-tools.com/public/downloads/pdf-reference/pdfreference12.pdf, retrieved 2010-02-23 
  58. Adobe Systems Incorporated (2000) (PDF), PDF Reference second edition - Adobe Portable Document Format Version 1.3, http://partners.adobe.com/public/developer/en/pdf/PDFReference13.pdf, retrieved 2010-02-23 
  59. 59.0 59.1 59.2 59.3 Adobe Systems Incorporated. "Adobe PDF Reference Archives". http://www.adobe.com/devnet/pdf/pdf_reference_archive.html. Retrieved 2010-02-23. 
  60. Adobe Systems Incorporated (2001) (PDF), PDF Reference third edition - Adobe Portable Document Format Version 1.4, http://www.adobe.com/devnet/pdf/pdfs/PDFReference.pdf, retrieved 2010-02-23 
  61. Adobe Systems Incorporated (2003) (PDF), PDF Reference fourth edition - Adobe® Portable Document Format Version 1.5, http://www.adobe.com/devnet/pdf/pdfs/PDFReference15_v6.pdf, retrieved 2010-02-23 
  62. "PDF compatibility levels". http://help.adobe.com/en_US/Illustrator/14.0/WS25210BC7-2345-4e30-A05C-80903A3B36EE.html. Retrieved 2010-04-01. 
  63. "Description of 2007 Microsoft Office Suite Service Pack 2 (SP2)". Microsoft. http://support.microsoft.com/kb/953195. Retrieved 2009-05-09. 
  64. "Free PDF XP". http://freepdf-xp.en.softonic.com/. Retrieved 2010-07-27. 
  65. Press-Ready PDF Files "For anyone interested in having their graphic project commercially printed directly from digital files or PDFs." (last checked on 2009-02-10).
  66. Current FSF High Priority Free Software Projects (last checked on 2009-02-10)
  67. Goals and Motivations - GNUpdf
  68. Poppler homepage "Poppler is a PDF rendering library based on the xpdf-3.0 code base." (last checked on 2009-02-10)
  69. Xpdf license "Xpdf is licensed under the GNU General Public License (GPL), version 2." (last checked on 2009-02-10).
  70. The Apache PDFBox project . Retrieved 2009-09-19.

External links