Portable Document Format (PDF)
Filename extension | .pdf |
---|---|
Internet media type | application/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 |
Adobe Systems co-founder John Warnock outlined a system called "Camelot"[2], that evolved into the Portable Document Format (PDF) file-format.
Formerly a proprietary format, PDF was officially released as anopen standard on July 1, 2008, and published by theInternational Organization for Standardization as ISO/IEC 32000-1:2008.[3][clarification needed]
CONTENTS |
HISTORY
PDF's adoption in the early days of the format's history was slow.[4] 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 theWorld Wide Web; 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 Paperand even Adobe's own PostScript format (.ps); in those early years, the PDF file was mainly popular in desktop publishingworkflow.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:[5]
- (1993) – PDF 1.0 / Acrobat 1.0
- (1994) – PDF 1.1 / Acrobat 2.0
- (1996) – PDF 1.2 / Acrobat 3.0
- (1999) – PDF 1.3 / Acrobat 4.0
- (2001) – PDF 1.4 / Acrobat 5.0
- (2003) – PDF 1.5 / Acrobat 6.0
- (2005) – PDF 1.6 / Acrobat 7.0
- (2006) – PDF 1.7 / Acrobat 8.0
- (2008) – PDF 1.7, Adobe Extension Level 3 / Acrobat 9.0
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).
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.[6]The PDF combines three technologies:
- A subset of the PostScript page description programminglanguage, for generating the layout and graphics.
- A font-embedding/replacement system to allow fonts to travel with the documents.
- A structured storage system to bundle these elements and any associated content into a single file, with data compression where appropriate.
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 asif
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:
- PDF contains tokenized and interpreted results of the PostScript source code, for direct correspondence between changes to items in the PDF page description and changes to the resulting page appearance.
- PDF (from version 1.4) supports true graphic transparency; PostScript does not.
- PostScript is an imperative programming language with an implicit global state, so instructions accompanying the description of one page can affect the appearance of any following page. Therefore, all preceding pages in a PostScript document must be processed in order to determine the correct appearance of a given page, whereas each page in a PDF document is unaffected by the others. As a result, PDF viewers allow the user to quickly jump to the final pages of a long document, whereas a Postscript viewer needs to process all pages sequentially before being able to display the destination page (unless the optional PostScriptDocument Structuring Conventions have been carefully complied with).
TECHNICAL OVERVIEW
File structure
A PDF file consists primarily of objects, of which there are eight types:[7]- Boolean values, representing true or false
- Numbers
- Strings
- Names
- Arrays, ordered collections of objects
- Dictionaries, collections of objects indexed by Names
- Streams, usually containing large amounts of data
- The Null object
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, since they are written to disk in a linear (as in page order) fashion.[9] 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:
- The current transformation matrix (CTM), which determines the coordinate system
- The clipping path
- The color space
- The alpha constant, which is a key component of transparency
Vector graphics
Vector graphics in PDF, as in PostScript, are constructed withpaths. 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 radial shade (Type 2) and axial 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 filteredfor compression purposes. Image filters supported in PDF include the general purpose filters- ASCII85Decode a deprecated filter used to put the stream into 7-bit ASCII
- ASCIIHexDecode similar to ASCII85Decode but less compact
- FlateDecode a commonly used filter based on theDEFLATE or Zip algorithm
- LZWDecode a deprecated filter based on LZWCompression
- RunLengthDecode a simple compression method for streams with repetitive data using the Run-length encodingalgorithm
- DCTDecode a lossy filter based on the JPEG standard
- CCITTFaxDecode a lossless filter based on the CCITT faxcompression standard
- JBIG2Decode a lossy or lossless filter based on the JBIG2standard, introduced in PDF 1.4
- JPXDecode a lossy or lossless filter based on the JPEG 2000 standard, introduced in PDF 1.5
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 theencoding 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 fontwhile 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 anencoding. There are a number of built-in encodings, includingWinAnsi, MacRoman, and a large number of encodings for East Asian languages. (Although the WinAnsi and MacRoman encodings are derived from the historical properties of theWindows and Macintosh operating systems, fonts using these encodings work equally well on any platform.) 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 aToUnicode 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 oftransparency groups, blending modes, shape, and alpha. The model is closely aligned with the features of Adobe Illustratorversion 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.[10]
Interactive elements
PDF files may contain interactive elements such as annotations and form fields.Acroforms (also known as Acrobat forms) is a mechanism to add forms to the PDF file format.Acroforms permit using objects (text boxes, radiobuttons, etc.) and some code (JavaScript).
Acroforms keep form field values in external files containing key:value pairs. The external files may use different formats, namely ASCII, fdf, or xfdf files.
Acroforms were introduced in the pdf 1.2 format.[11] In the pdf 1.5 format, Adobe Systems introduced a new, proprietary format for forms, namely XFA forms. Both formats coexist today.
Logical structure and accessibility
A PDF may contain structure information to enable better text extraction and accessibility. When published, PDF/UA, nowISO/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[12], 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.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 Evince (Linux) also has some support for document-level attachments.Subsets
Proper subsets of PDF have been, or are being, standardized underISO 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
Mars
- See also: Page description markup language
The format of graphic elements of Mars is sometimes described simply as "SVG",[citation needed] 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
This section does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (June 2009) |
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.
Security
PDF format attachments carrying viruses were first discovered in 2001. This virus, named "OUTLOOK.PDFWorm" or "Peachy", usesMicrosoft Outlook to send itself as an attachment to an Adobe PDF file. It is activated with Adobe Acrobat, but not with Acrobat Reader.[15]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 andMD5. 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 [1] 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."[16]
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 2007 is still 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.[17] The free Adobe Reader cannot remove these settings.CONTENT
A PDF file is often a combination of vector graphics, text, andraster graphics. The basic types of content in a PDF are:- text stored as such
- vector graphics for illustrations and designs that consist of shapes and lines
- raster graphics for photographs and other types of image
PDF 1.6 supports interactive 3D documents embedded in the PDF.
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:- Times (v3) or Times Roman PS MT (v4.x) (in regular, italic or oblique, bold, and bold italic)
- Courier (in regular, italic or oblique, bold and bold italic)
- Helvetica (v3) or Arial MT (v4.x) (in regular, italic or oblique, bold and bold italic)
- Symbol
- Zapf Dingbats
Beginning with PDF 1.5, special treatment of the standard fonts is deprecated.[1]
VERSIONS
Version | Year of publication | New features | Supported by Reader version |
---|---|---|---|
1.0 | 1993 | Acrobat Reader (Carousel) | |
1.1 | 1996 | Passwords, device-independent color, threads and links | Acrobat Reader 2.0 |
1.2 | 1996 | Interactive page elements, mouse events, multimedia types, Unicode, advanced color features and image proxying | Acrobat Reader 3.0 |
1.3 | 2000 | Digital signatures; ICC and DeviceN color spaces; JavaScript actions | Acrobat Reader 4.0 |
1.4 | 2001 | JBIG2; transparency; OCRtext layer | Acrobat Reader 5.0 |
1.5 | 2003 | JPEG 2000; linked multimedia; object streams; cross reference streams | Adobe Reader 6.0 |
1.6 | 2004 | Embedded multimedia; XML forms; AESencryption | Adobe Reader 7.0 |
1.7 | 2006 | Adobe Reader 8 | |
1.7 Extension Level 3 | 2008 | 256-bit AES encryption | Adobe Reader 9 |
IMPLEMENTATIONS
PDF-viewing software is generally provided free of charge, including versions by Adobe Reader, Foxit Reader, PDF-XChange Viewer, and others.There are many software options for creating PDFs, including the PDF printing capabilities built in to Mac OS X and some versions ofLinux, the multi-platform OpenOffice.org, Microsoft Office 2007(if updated to SP2[20]), WordPerfect since version 9, numerous PDF print drivers for Microsoft Windows, the pdfTeX typesetting system, the DocBook PDF tools, applications developed aroundGhostscript and Adobe Acrobat itself. Google's online office suiteGoogle 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. A freeware desktop program also exists which allows PDF format order forms and applications to be filled in and printed off, even those previously uneditable using Adobe Reader.[21]ANNOTATING PDFS
Adobe Acrobat is one example of proprietary software that allows the user to annotate, highlight, add notes to already created PDF files. A free UNIX application is PDFedit. An excellent free application native to the Linux environment is Xournal. Xournal allows for annotating in different fonts and colours as well as a rule for underlining and highlighting lines of text or paragraphs quickly and easily. Xournal also has a shape recognition tool for squares, rectangles and circles. In Xournal annotations may be easily moved, copied and pasted. Foxit Reader (free) allows annotating but adds a watermark on each annotated page. The commercial version of the package does not have this limitation.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.[citation needed]
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.[22] 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."[23][24]The GNUpdf library has, however, not been released yet, whilePoppler 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[25][26] 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.[27]
If you are looking for a good contextual advertising company, I recommend that you check out PropellerAds.
ReplyDelete