From Wikipedia, the free encyclopediaPortable Document Format (PDF)"
PDF" redirects here. For other uses, see
PDF (disambiguation).
The
Portable Document Format (
PDF) is the
file format created by
Adobe Systems in 1993 for
document exchange.
PDF is used for representing two-dimensional documents in a device-independent and
display resolution-independent fixed-layout
document format. Each
PDF file encapsulates a complete description of a 2-D
document (and, with Acrobat 3-D, embedded 3-D documents) that includes the text, fonts, images, and 2-D
vector graphics that compose the
document.
PDF is an
open standard, and is now being prepared for submission as an
ISO standard
HistoryWhen the
PDF first came out in the early 1990s, its general adoption was slow. At that time, the
PDF-creation tools (
Acrobat) and the viewing and printing software had to be bought. Early versions of
PDF had no support for external hyperlinks, reducing its usefulness on the
World 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 Paper and even Adobe's own
PostScript format (.ps); in those early years, the
PDF file was mainly popular in
desktop publishing workflow.
Adobe soon started distribution at no cost of the Acrobat Reader (now Adobe Reader) program, and continued supporting the original
PDF, which eventually became the
de facto standard for printable documents.
The
PDF file
format has changed several times, as new versions of Adobe Acrobat have been released. There have been eight versions of
PDF: 1.0 (1993), 1.1 (1994), 1.2 (1996), 1.3 (1999), 1.4 (2001), 1.5 (2003), 1.6 (2005), and 1.7 (2006), corresponding to Acrobat releases 1.0 to 8.0.
See also
History of PDF OpennessTechnical FoundationsAnyone may create applications that 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.
The
PDF combines 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.
A structured storage system to bundle these elements and any associated content into a single file, with
data compression where appropriate.
PostScriptPostScript 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, i.e. 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:
PDF contains already 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 must be processed in order to determine the correct appearance of a given page; each page in a
PDF document is unaffected by the others.
Technical OverviewFile StructureA
PDF file consists primarily of objects, of which there are eight types:
[4]Boolean values, representing true or false
Numbers
Strings
Names
Arrays, ordered collections of objects
Dictionaries, collections of objects indexed by Names
Streams, usually containg large amounts of data.
The null object
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.
[5] 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.Imaging ModelThe 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 spaceThe
alpha constant which is a key component of transparency
Vector GraphicsVector graphics in
PDF, as in PostScript, are constructed with paths. Paths are usually made from of lines and
cubic Bezier 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 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.4 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 ImagesRaster images in
PDF (called Image XObjects) are represented by dictionaries with an associated stream. The dictionary described 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
ASCII85Decode a deprecated filter used to put the stream into 7-bit
ASCIIASCIIHexDecode similar to ASCII85Decode but less compact
FlateDecode a commonly used filter based on the
DEFLATE or Zip algorithm
LZWDecode a deprecated filter based on
LZW Compression
RunLengthDecode a simple compression method for streams with repetitive data using the
Run-length encoding algorithm
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.
TextText in
PDF is represented by text elements in page content streams. A text element specifies that characters in should be drawn at certain positions. The characters are specified using the encoding of a selected font resource.
FontsA 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.
EncodingsWithin 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 built-in encodings, including WinAnsi, MacRoman, and a large number of encodings for East Asian languages. (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.) 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.
TransparencyThe 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 wrong 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.
[6]Technical Issuessource : http://en.wikipedia.org/wiki/Portable_Document_Format