HOME
TheInfoList



Portable Document Format (PDF), standardized as ISO 32000, is a
file format ogg-file: 154 kilobytes. A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free ...
developed by
Adobe Adobe (; ) is a building material made from earth and organic materials. is Spanish for 'mudbrick', but in some English-speaking regions of Spanish heritage the term is used to refer to any kind of earthen construction. Most adobe buildings ...
in 1993 to present
document A document is a written, drawn, presented, or memorialized representation of thought, often the manifestation of non-fictional, as well as fictional, content. The word originates from the Latin ''Documentum'', which denotes a "teaching" or "less ...
s, including text formatting and images, in a manner independent of
application software Application software (app for short) is computing software designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end-users. Examples of an application include a word processor ...
,
hardware Hardware may refer to: Technology Computing and electronics * Computer hardware, physical parts of a computer * Digital electronics, electronics that operate on digital signals * Electronic component, device in an electronic system used to affect e ...
, and
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also inclu ...
s.Adobe Systems Incorporated
PDF Reference, Sixth edition, version 1.23 (53 MB)
Nov 2006, p. 33.
Based on the
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
language, each PDF file encapsulates a complete description of a fixed-layout flat document, including the text,
font In metal typesetting, a font was a particular size, weight and style of a typeface. Each font was a matched set of type, one piece (called a "sort") for each glyph, and a typeface consisting of a range of fonts that shared an overall design. In mo ...

font
s,
vector graphics Vector graphics are computer graphics images that are defined in terms of points on a Cartesian plane, which are connected by lines and curves to form polygons and other shapes. Vector graphics have the unique advantage over raster graphics in ...
,
raster images upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging in further, they can be analyzed, with their colors constructed by combining the values for red, green and ...
and other information needed to display it. PDF was standardized as ISO 32000 in 2008 and therefore no longer requires royalties for its implementation. The last edition as ISO 32000-2:2020 was published in December 2020. PDF files may contain a variety of content besides flat text and graphics including logical structuring elements, interactive elements such as annotations and form-fields, layers,
rich media#REDIRECT Interactive media#REDIRECT Interactive media {{Redirect category shell, 1= {{R from other capitalisation ...
{{Redirect category shell, 1= {{R from other capitalisation ...
(including video content), and three-dimensional objects using
U3D Universal 3D (U3D) is a compressed file format standard for 3D computer graphics data. The format was defined by a special consortium called ''3D Industry Forum'' that brought together a diverse group of companies and organizations, including In ...
or PRC, and various other data formats. The PDF specification also provides for encryption and
digital signatures A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very strong reason to believe that the message was cr ...
, file attachments, and metadata to enable workflows requiring these features.


History

Adobe Systems Adobe Inc. ( ) is an American multinational computer software company. Incorporated in Delaware and headquartered in San Jose, California, it has historically specialized in software for the creation and publication of a wide range of content ...
made the PDF specification available free of charge in 1993. In the early years PDF was popular mainly in
desktop publishing Desktop publishing (DTP) is the creation of documents using page layout software on a personal ("desktop") computer. It was first used almost exclusively for print publications, but now it also assists in the creation of various forms of online con ...
workflow A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of o ...
s, and competed with a variety of formats such as
DjVu DjVu ( , like French "déjà vu") is a computer file format designed primarily to store scanned documents, especially those containing a combination of text, line drawings, indexed color images, and photographs. It uses technologies such as image ...
,
Envoy Envoy or Envoys may refer to: Diplomacy * Diplomacy, in general * Envoy (title) * Special envoy, a type of diplomatic rank Brands *Airspeed Envoy, a 1930s British light transport aircraft *Envoy (automobile), an automobile brand used to sell Brit ...
, Common Ground Digital Paper, Farallon Replica and even Adobe's own
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
format. PDF was a
proprietary formatA proprietary format is a file format of a company, organization, or individual that contains data that is ordered and stored according to a particular encoding-scheme, designed by the company or organization to be secret, such that the decoding and ...
controlled by Adobe until it was released as an
open standard An open standard is a standard that is publicly available and has various rights to use associated with it and may also have various properties of how it was designed (e.g. open process). There is no single definition, and interpretations vary with ...
on July 1, 2008, and published by the
International Organization for Standardization The International Organization for Standardization (ISO; ) is an international standard-setting body composed of representatives from various national standards organizations. Founded on 23 February 1947, the organization promotes worldwide p ...
as ISO 32000-1:2008, at which time control of the specification passed to an ISO Committee of volunteer industry experts. In 2008, Adobe published a Public Patent License to ISO 32000-1 granting
royalty-free Royalty-free (RF) material subject to copyright or other intellectual property rights may be used without the need to pay royalties or license fees for each use, per each copy or volume sold or some time period of use or sales. Computer standards M ...
rights for all patents owned by Adobe that are necessary to make, use, sell, and distribute PDF-compliant implementations. PDF 1.7, the sixth edition of the PDF specification that became ISO 32000-1, includes some proprietary technologies defined only by Adobe, such as
Adobe XML Forms Architecture XFA (also known as XFA forms) stands for XML Forms Architecture, a family of proprietary XML specifications that was suggested and developed by JetForm to enhance the processing of web forms. It can be also used in PDF files starting with the PDF 1 ...
(XFA) and
JavaScript JavaScript (), often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-b ...
extension for Acrobat, which are referenced by ISO 32000-1 as
normative Normative generally means relating to an evaluative standard. Normativity is the phenomenon in human societies of designating some actions or outcomes as good or desirable or permissible and others as bad or undesirable or impermissible. A norm in ...
and indispensable for the full implementation of the ISO 32000-1 specification. These proprietary technologies are not standardized and their specification is published only on Adobe's website. Many of them are also not supported by popular third-party implementations of PDF. In December, 2020, the second edition of PDF 2.0, ISO 32000-2:2020, was published, including clarifications, corrections and critical updates to normative references. ISO 32000-2 does not include any proprietary technologies as normative references.


Technical foundations

A PDF file is often a combination of
vector graphics Vector graphics are computer graphics images that are defined in terms of points on a Cartesian plane, which are connected by lines and curves to form polygons and other shapes. Vector graphics have the unique advantage over raster graphics in ...
, text, and
bitmap graphics upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging in further, they can be analyzed, with their colors constructed by combining the values for red, green and ...
. The basic types of content in a PDF are: * Text stored as content streams (i.e., not encoded in
plain text In computing, plain text is a loose term for data (e.g. file contents) that represent only characters of readable material but not its graphical representation nor other objects (floating-point numbers, images, etc.). It may also include a limite ...

plain text
); * Vector graphics for illustrations and designs that consist of shapes and lines; * Raster graphics for photographs and other types of image; * Multimedia objects in the document. In later PDF revisions, a PDF document can also support links (inside document or web page), forms, JavaScript (initially available as a plugin for Acrobat 3.0), or any other types of embedded contents that can be handled using plug-ins. PDF combines three technologies: * A subset of the
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
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 In signal processing, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compression re ...
where appropriate.
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
is a
page description language In digital printing, a page description language (PDL) is a computer language that describes the appearance of a printed page in a higher level than an actual output bitmap (or generally raster graphics). An overlapping term is printer control langu ...
run in an interpreter to generate an image, a process requiring many resources. It can handle graphics and standard features of
programming language A programming language is a formal language comprising a set of instructions that produce various kinds of output. Programming languages are used in computer programming to implement algorithms. Most programming languages consist of instruction ...
s such as if statements and loop commands. PDF is largely based on PostScript but simplified to remove flow control features like these, 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 In computer science, lexical analysis, lexing or tokenization is the process of converting a sequence of characters (such as in a computer program or web page) into a sequence of tokens (strings with an assigned and thus identified meaning). A pro ...
. 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 transparent graphics; PostScript does not. * PostScript is an
interpreted programming language Interpretation may refer to: Culture * Aesthetic interpretation, an explanation of the meaning of a work of art * Allegorical interpretation, an approach that assumes a text should not be interpreted literally * Dramatic Interpretation, an event i ...
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 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 PostScript
Document Structuring ConventionsDocument Structuring Conventions, or DSC, is a set of standards for PostScript, based on the use of comments, which primarily specifies a way to structure a PostScript file and a way to expose that structure in a machine-readable way. A PostScript fi ...
have been carefully compiled and included). PDF 1.6 supports interactive 3D documents embedded in a PDF file: 3D drawings can be embedded using
U3D Universal 3D (U3D) is a compressed file format standard for 3D computer graphics data. The format was defined by a special consortium called ''3D Industry Forum'' that brought together a diverse group of companies and organizations, including In ...
or PRC and various other data formats.


File format

A PDF file contains 7-bit
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Most moder ...
characters, except for certain elements that may have binary content. The file starts with a header containing a magic number (as a readable string) and the version of the format, for example %PDF-1.7. The format is a subset of a COS ("Carousel" Object Structure) format. A COS tree file consists primarily of ''objects'', of which there are eight types: * Boolean values, representing ''true'' or ''false'' * Numbers * Strings, enclosed within parentheses ((...)). Strings may contain 8-bit characters. * Names, starting with a forward slash (/) *
Arrays ARRAY, also known as ARRAY Now, is an independent distribution company launched by film maker and former publicist Ava DuVernay in 2010 under the name African-American Film Festival Releasing Movement (AFFRM). In 2015 the company rebranded itself ...
, ordered collections of objects enclosed within square brackets ( ../code>) *
Dictionaries A dictionary is a listing of lexemes from the lexicon of one or more specific languages, often arranged alphabetically (or by radical and stroke for ideographic languages), which may include information on definitions, usage, etymologies, pro ...
, collections of objects indexed by names enclosed within double angle brackets (<<...>>) *
Streams A stream is a body of water with surface water flowing within the bed and banks of a channel. The flow of a stream is controlled by three inputs – surface water, subsurface water and groundwater. The surface and subsurface water are highly ...
, usually containing large amounts of optionally compressed binary data, preceded by a dictionary and enclosed between the stream and endstream keywords. * The
null Null may refer to: Science, technology, and mathematics Computing *Null (SQL) (or NULL), a special marker and keyword in SQL indicating that something has no value *Null character, the zero-valued ASCII character, also designated by NUL, often us ...
object Furthermore, there may be comments, introduced with the percent sign (%). Comments may contain 8-bit characters. Objects may be either ''direct'' (embedded in another object) or ''indirect''. Indirect objects are numbered with an ''object number'' and a ''generation number'' and defined between the obj and endobj keywords if residing in the document root. Beginning with PDF version 1.5, indirect objects (except other streams) may also be located in special streams known as ''object streams'' (marked /Type /ObjStm). This technique enables non-stream objects to have standard stream filters applied to them, reduces the size of files that have large numbers of small indirect objects and is especially useful for ''Tagged PDF''. Object streams do not support specifying an object's ''generation number'' (other than 0). An index table, also called the cross-reference table, is typically located near the end of the file and gives the byte offset of each indirect object from the start of the file. This design allows for efficient
random access Random access (more precisely and more generally called direct access) is the ability to access an arbitrary element of a sequence in equal time or any datum from a population of addressable elements roughly as easily and efficiently as any other, ...
to the objects in the file, and also allows for small changes to be made without rewriting the entire file (''incremental update''). Before PDF version 1.5, the table would always be in a special ASCII format, be marked with the xref keyword, and follow the main body composed of indirect objects. Version 1.5 introduced optional ''cross-reference streams'', which have the form of a standard stream object, possibly with filters applied. Such a stream may be used instead of the ASCII cross-reference table and contains the offsets and other information in binary format. The format is flexible in that it allows for integer width specification (using the /W array), so that for example, a document not exceeding 64  KiB in size may dedicate only 2  bytes for object offsets. At the end of a PDF file is a footer containing: * The startxref keyword followed by an offset to the start of the cross-reference table (starting with the xref keyword) or the cross-reference stream object, followed by * The %%EOF
end-of-file In computing, end-of-file (EOF) is a condition in a computer operating system where no more data can be read from a data source. The data source is usually called a file or stream. Details In the C Standard Library, the character reading functions ...
marker. If a cross-reference stream is not being used, the footer is preceded by the trailer keyword followed by a dictionary containing information that would otherwise be contained in the cross-reference stream object's dictionary: * A reference to the root object of the tree structure, also known as the ''catalog'' (/Root) * The count of indirect objects in the cross-reference table (/Size) * Other optional information There are two layouts to the PDF files: non-linear (not "optimized") and linear ("optimized"). Non-linear PDF files can be smaller 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 generated in a linear (as in page order) fashion. PDF files may be optimized using
Adobe Acrobat Adobe Acrobat is a family of application software and Web services developed by Adobe Inc. to view, create, manipulate, print and manage files in Portable Document Format (PDF). The family comprises Acrobat Reader (formerly Reader), Acrobat (forme ...
software or
QPDF QPDF is a free command-line program that can convert one PDF file to another equivalent PDF file. It is capable of performing a variety of transformations such as linearization (also known as web optimization or fast web viewing), encryption, a ...
.


Imaging model

The basic design of how
graphics Graphics (from Greek ''graphikos'', "belonging to drawing") are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial represen ...
are represented in PDF is very similar to that of
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
, except for the use of transparency, which was added in PDF 1.4. PDF graphics use a device-independent
Cartesian coordinate system A Cartesian coordinate system (, ) in a plane is a coordinate system that specifies each point uniquely by a pair of numerical coordinates, which are the signed distances to the point from two fixed perpendicular oriented lines, measured in the s ...
to describe the surface of a page. A PDF page description can use a
matrix Matrix or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols, or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the material in between a eukaryoti ...
to
scale Scale or scales may refer to: Mathematics * Scale (descriptive set theory), an object defined on a set of points * Scale (ratio), the ratio of a linear dimension of a model to the corresponding dimension of the original * Scale factor, a number wh ...
,
rotate A rotation is a circular movement of an object around a center (or point) of rotation. The geometric plane along which the rotation occurs is called the ''rotation plane'', and the imaginary line extending from the center and perpendicular to ...
, or
skew Skew may refer to: In mathematics * Skew lines, neither parallel nor intersecting. * Skew normal distribution, a probability distribution * Skew field or division ring * Skew-Hermitian matrix * Skew lattice * Skew polygon, whose vertices do not li ...
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 A clipping path (or "deep etch") is a closed vector path, or shape, used to cut out a 2D image in image editing software. Anything inside the path will be included after the clipping path is applied; anything outside the path will be omitted from ...

clipping path
'' * The ''
color space A color space is a specific organization of colors. In combination with color profiling supported by various physical devices, it supports reproducible representations of color -- whether such representation entails an analog or a digital represe ...
'' * The '' alpha constant'', which is a key component of transparency


Vector graphics

As in
PostScript PostScript (PS) is a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug B ...
,
vector graphics Vector graphics are computer graphics images that are defined in terms of points on a Cartesian plane, which are connected by lines and curves to form polygons and other shapes. Vector graphics have the unique advantage over raster graphics in ...
in PDF are constructed with ''paths''. Paths are usually composed of lines and cubic
Bézier curveBézier can refer to: *Pierre Bézier, French engineer and creator of Bézier curves *Bézier curve *Bézier triangle *Bézier spline (disambiguation) *Bézier surface * The town of Béziers in France * AS Béziers Hérault, a French rugby union tea ...
s, 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, and used for
clipping Clipping may refer to: Words * Clipping (morphology), the formation of a new word by shortening it, e.g. "ad" from "advertisement" * Clipping (phonetics), shortening the articulation of a speech sound, usually a vowel * Clipping (publications), ...

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 patterns of which the simplest are the ''axial shade'' (Type 2) and ''radial shade'' (Type 3).


Raster images

Raster images upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging in further, they can be analyzed, with their colors constructed by combining the values for red, green and ...
in PDF (called ''Image XObjects'') are represented by dictionaries with an associated stream. The dictionary describes the 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 following general-purpose filters: * ''ASCII85Decode'', a filter used to put the stream into 7-bit
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Most moder ...
, * ''ASCIIHexDecode'', similar to ASCII85Decode but less compact, * ''FlateDecode'', a commonly used filter based on the
deflate#REDIRECT Deflate {{Redirect category shell, {{R from move ...
algorithm defined in (deflate is also used in the
gzip gzip is a file format and a software application used for file compression and decompression. The program was created by Jean-loup Gailly and Mark Adler as a free software replacement for the compress program used in early Unix systems, and inte ...
, PNG, and zip file formats among others); introduced in PDF 1.2; it can use one of two groups of predictor functions for more compact zlib/deflate compression: ''Predictor 2'' from the
TIFF Tag Image File Format, abbreviated TIFF or TIF, is a computer file format for storing raster graphics images, popular among graphic artists, the publishing industry, and photographers. TIFF is widely supported by scanning, faxing, word processing ...
6.0 specification and predictors (filters) from the PNG specification (), * ''LZWDecode'', a filter based on LZW Compression; it can use one of two groups of predictor functions for more compact LZW compression: ''Predictor 2'' from the TIFF 6.0 specification and predictors (filters) from the PNG specification, * ''RunLengthDecode'', a simple compression method for streams with repetitive data using the
run-length encoding Run-length encoding (RLE) is a form of lossless data compression in which ''runs'' of data (sequences in which the same data value occurs in many consecutive data elements) are stored as a single data value and count, rather than as the original ru ...
algorithm and the image-specific filters, * ''DCTDecode'', a
lossy In information technology, lossy compression or irreversible compression is the class of data encoding methods that uses inexact approximations and partial data discarding to represent the content. These techniques are used to reduce data size for ...
filter based on the
JPEG JPEG or JPG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable trade-off between storage size a ...
standard, * ''CCITTFaxDecode'', a
lossless Lossless compression is a class of data compression algorithms that allows the original data to be perfectly reconstructed from the compressed data. By contrast, lossy compression permits reconstruction only of an approximation of the original data ...
bi-level (black/white) filter based on the Group 3 or
Group 4Group 4 may refer to: *Group 4 element, chemical element classification *Group 4 (racing), classification for cars in auto racing and rallying *G4S, formerly Group 4 Securicor, a prominent British security company *IB Group 4 subjects, subject group ...
CCITT The ITU Telecommunication Standardization Sector (ITU-T) coordinates standards for telecommunications and Information Communication Technology such as X.509 for cybersecurity, Y.3172 and Y.3173 for machine learning, and H.264/MPEG-4 AVC for video c ...
(ITU-T) fax compression standard defined in ITU-T T.4 and T.6, * ''JBIG2Decode'', a lossy or lossless bi-level (black/white) filter based on the
JBIG2 JBIG2 is an image compression standard for bi-level images, developed by the Joint Bi-level Image Experts Group. It is suitable for both lossless and lossy compression. According to a press release from the Group, in its lossless mode JBIG2 typical ...
standard, introduced in PDF 1.4, and * ''JPXDecode'', a lossy or lossless filter based on the
JPEG 2000 JPEG 2000 (JP2) is an image compression standard and coding system. It was developed from 1997 to 2000 by a Joint Photographic Experts Group committee chaired by Touradj Ebrahimi (later the JPEG president), with the intention of superseding their ...
standard, introduced in PDF 1.5. 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 PDF/A is an ISO-standardized version of the Portable Document Format (PDF) specialized for use in the archiving and long-term preservation of electronic documents. PDF/A differs from PDF by prohibiting features unsuitable for long-term archiving, ...
and
PDF/X PDF/X is a subset of the PDF ISO standard. The purpose of PDF/X is to facilitate graphics exchange, and it therefore has a series of printing-related requirements which do not apply to standard PDF files. For example, in PDF/X-1a all fonts need to ...
, prohibit these features.


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''. A font object in PDF is a description of a digital
typeface A typeface is the design of lettering that can include variations, such as extra bold, bold, regular, light, italic, condensed, extended, etc. Each of these variations of the typeface is a font. There are thousands of different typefaces in exi ...
. 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 1Type 1 or Type I or ''variant'', may refer to: Health *Diabetes mellitus type 1 (also known as "Type 1 Diabetes"), insulin-dependent diabetes *Type I female genital mutilation *Type 1 personality *Type I hypersensitivity (or immediate hypersensitivi ...
(and its compressed variant CFF),
TrueType#REDIRECT TrueType#REDIRECT TrueType {{Redirect category shell, 1= {{R from other capitalisation ...
{{Redirect category shell, 1= {{R from other capitalisation ...
, and (beginning with PDF 1.6)
OpenType OpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior. OpenType is a registered trademark of ...
. Additionally PDF supports the Type 3 variant in which the components of the font are described by PDF graphic operators. Fourteen typefaces, known as the ''standard 14 fonts'', have a special significance in PDF documents: * Times (v3) (in regular, italic, bold, and bold italic) * Courier (typeface), Courier (in regular, oblique, bold and bold oblique) * Helvetica (v3) (in regular, oblique, bold and bold oblique) * Symbol (typeface), Symbol * Zapf Dingbats These fonts are sometimes called the ''base fourteen fonts''. These fonts, or suitable substitute fonts with the same metrics, should be available in most PDF readers, but they are not ''guaranteed'' to be available in the reader, and may only display correctly if the system has them installed. Fonts may be substituted if they are not embedded in a PDF. 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 many 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 Microsoft Windows, 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). 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 PDF 1.3 and earlier specifications. As a result, files that use a small amount of transparency might view acceptably by older viewers, but files making extensive use of transparency could be viewed incorrectly by 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. 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.


Additional features


Logical structure and accessibility

A "tagged" PDF (see clause 14.8 in ISO 32000) includes document structure and semantics information to enable reliable text extraction and accessibility. Technically speaking, tagged PDF is a stylized use of the format that builds on the logical structure framework introduced in PDF 1.3. Tagged PDF defines a set of standard structure types and attributes that allow page content (text, graphics, and images) to be extracted and reused for other purposes. Tagged PDF is not required in situations where a PDF file is intended only for print. Since the feature is optional, and since the rules for Tagged PDF were relatively vague in ISO 32000-1, support for tagged PDF amongst consuming devices, including assistive technology (AT), is uneven at this time. ISO 32000-2, however, includes an improved discussion of tagged PDF which is anticipated to facilitate further adoption. An ISO-standardized subset of PDF specifically targeted at accessibility, PDF/UA, was first published in 2012.


Optional Content Groups (layers)

With the introduction of PDF version, 1.5 (2003) came the concept of Layers. Layers, or as they are more formally known Optional Content Groups (OCGs), refer to sections of content in a PDF document that can be selectively viewed or hidden by document authors or consumers. This capability is useful in CAD drawings, layered artwork, maps, multi-language documents, etc. Basically, it consists of an Optional Content Properties Dictionary added to the document root. This dictionary contains an array of Optional Content Groups (OCGs), each describing a set of information and each of which may be individually displayed or suppressed, plus a set of Optional Content Configuration Dictionaries, which give the status (Displayed or Suppressed) of the given OCGs.


Encryption and signatures

A PDF file may be encrypted, for security, in which case a password is needed to view or edit the contents. PDF 2.0 defines 256-bit AES encryption as standard for PDF 2.0 files. The PDF Reference also defines ways that third parties can define their own encryption systems for PDF. PDF files may be digitally signed, to provide secure authentication; complete details on implementing digital signatures in PDF is provided in ISO 32000-2. PDF files may also contain embedded digital rights management, DRM restrictions that provide further controls that limit copying, editing or printing. These restrictions depend on the reader software to obey them, so the security they provide is limited. The standard security provided by Acrobat PDF consists of two different methods and two different passwords: a ''user password'', which encrypts the file and prevents opening, and an ''owner password'', which specifies operations that should be restricted even when the document is decrypted, which can include modifying, printing, or copying text and graphics out of the document, or adding or modifying text notes and #AcroForms, AcroForm fields. The user password encrypts the file, while the owner password does not, instead of relying on client software to respect these restrictions. An owner password can easily be removed by software, including some free online services. Thus, the use restrictions that a document author places on a PDF document are not secure, and cannot be assured once the file is distributed; this warning is 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 ignore the permission "protections" and allow the user to print or make copy of excerpts of the text as if the document were not limited by password protection. 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 bona fide granting authority. For example, it can be used to allow a user: * To save the PDF document along with a modified form and/or annotation data * Import form data files in FDF, XFDF, and text (CSV/TSV) formats * Export form data files in FDF and XFDF formats * Submit form data * wikt:instantiate, Instantiate new pages from named page templates * Apply a digital signature to existing digital signature form field * Create, delete, modify, copy, import, and export annotations For example, Adobe Systems grants permissions to enable additional features in Adobe Reader, using public-key cryptography. Adobe Reader verifies that the signature uses a Public key certificate, certificate from an Adobe-authorized certificate authority. Any PDF application can use this same mechanism for its own purposes. Under specific circumstances including non-Patch (computing), patched systems of the receiver, the information the receiver of a Digital signature, digital signed document sees can be manipulated by the sender after the document has been signed by the signer. PAdES (''PDF Advanced Electronic Signatures'') is a set of restrictions and extensions to PDF and ISO 32000-1 making it suitable for advanced electronic signatures. This is published by ETSI as TS 102 778.


File attachments

PDF files can have file attachments which processors may access and open or save to a local filesystem.


Metadata

PDF files can contain two types of metadata. 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. This method is deprecated in PDF 2.0. In PDF 1.4, support was added for 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. PDF documents can contain display settings, including the page display layout and zoom level. Adobe Reader uses these settings to override the user's default settings when opening the document. The free Adobe Reader cannot remove these settings.


Accessibility

PDF files can be created specifically to be accessible for people with disabilities. PDF file formats in use can include tags, text equivalents, captions, audio descriptions, and more. Some software can automatically produce PDF/A, tagged PDFs, but this feature is not always enabled by default. Leading screen readers, including JAWS (screen reader), JAWS, Window-Eyes, Hal, and Kurzweil Educational Systems, Kurzweil 1000 and 3000 can read tagged PDF. Moreover, tagged PDFs can be re-flowed and magnified for readers with visual impairments. Adding tags to older PDFs and those that are generated from scanned documents can present some challenges. 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 and other assistive technologies use to deliver high-quality navigation and reading experience to users with disabilities. The content view is based on the physical order of objects within the PDF's content stream and may be displayed by software that does not fully support the tags' view, such as the Reflow feature in Adobe's Reader. PDF/UA, the International Standard for accessible PDF based on ISO 32000-1 was first published as ISO 14289–1 in 2012 and establishes normative language for accessible PDF technology.


Multimedia

''Rich Media PDF'' is a PDF file including interactive content that can be embedded or linked within the file.


Forms

''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 the PDF specification: * AcroForms (also known as Acrobat forms), introduced in the PDF 1.2 format specification and included in all later PDF specifications. * XML Forms Architecture (XFA) forms, introduced in the PDF 1.5 format specification. Adobe XFA Forms are not compatible with AcroForms. XFA was deprecated from PDF with PDF 2.0. AcroForms were introduced in the PDF 1.2 format. AcroForms permit using objects (''e.g.'' text boxes, Radio buttons, ''etc.'') and some code (''e.g.''
JavaScript JavaScript (), often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-b ...
). Alongside the standard PDF action types, interactive forms (AcroForms) support submitting, resetting, and importing data. The "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): ; HTML Form format: HTML 4.01 Specification since PDF 1.5; HTML 2.0 since 1.2 ; Forms Data Format (FDF): based on PDF, 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 the PDF specification (since PDF 1.2). The Forms Data Format can be used when submitting form data to a server, receiving the response, and incorporating it 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. FDF was originally defined in 1996 as part of ISO 32000-2:2017. ; XML Forms Data Format (XFDF): (external XML Forms Data Format Specification, Version 2.0; supported since PDF 1.5; it replaced the "XML" form submission format defined in PDF 1.4) the XML version of Forms Data Format, but the XFDF implements only a subset of FDF containing forms and annotations. Some entries in the FDF dictionary do not have XFDF equivalents – such as the Status, Encoding, JavaScript, Page's keys, EmbeddedFDFs, Differences, and Target. In addition, XFDF does not allow the spawning, or addition, of new pages based on the given data; as can be done when using an FDF file. 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''. The PDF 1.4 specification allowed form submissions in XML format, but this was replaced by submissions in XFDF format in the PDF 1.5 specification. XFDF conforms to the XML standard. XFDF can be used in 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. As of August, 2019, XFDF 3.0 is an ISO/IEC standard under the formal name ''ISO 19444-1:2019 - Document management — XML Forms Data Format — Part 1: Use of ISO 32000-2 (XFDF 3.0)''. This standard is a normative reference of ISO 32000-2. ; PDF: the entire document can be submitted rather than individual fields and values, as was defined in PDF 1.4. 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. The usage rights (UR) signatures define rights for import form data files in FDF, XFDF and text (comma-separated values, CSV/delimiter-separated values, TSV) formats, and export form data files in FDF and XFDF formats. In PDF 1.5, Adobe Systems introduced a proprietary format for forms;
Adobe XML Forms Architecture XFA (also known as XFA forms) stands for XML Forms Architecture, a family of proprietary XML specifications that was suggested and developed by JetForm to enhance the processing of web forms. It can be also used in PDF files starting with the PDF 1 ...
(XFA). Adobe XFA Forms are not compatible with ISO 32000's AcroForms feature, and most PDF processors do not handle XFA content. The XFA specification is referenced from ISO 32000-1/PDF 1.7 as an external proprietary specification, and was entirely deprecated from PDF with ISO 32000-2 (PDF 2.0).


Licensing

Anyone may create applications that can read and write PDF files without having to pay royalties to
Adobe Systems Adobe Inc. ( ) is an American multinational computer software company. Incorporated in Delaware and headquartered in San Jose, California, it has historically specialized in software for the creation and publication of a wide range of content ...
; Adobe holds patents to PDF, but licenses them for
royalty-free Royalty-free (RF) material subject to copyright or other intellectual property rights may be used without the need to pay royalties or license fees for each use, per each copy or volume sold or some time period of use or sales. Computer standards M ...
use in developing software complying with its PDF specification.


Security

In November 2019, researchers from Ruhr University Bochum and Hackmanit GmbH published attacks on digitally signed PDFs . They showed how to change the visible content in a signed PDF without invalidating the signature in 21 of 22 desktop PDF viewers and 6 of 8 online validation services by abusing implementation flaws. On the same conference, they additionally showed how to exfiltrate the plaintext of encrypted content in PDFs. In 2021, they showed new so-called ''shadow attacks'' on PDFs that abuse the flexibilty of features provided in the specification . An overview of security issues in PDFs regarding denial of service, information disclosure, data manipulation, and Arbitrary code execution attacks was presented by Jens Müller. PDF attachments carrying viruses were first discovered in 2001. The virus, named ''OUTLOOK.PDFWorm'' or ''Peachy'', uses Microsoft Outlook to send itself as an attached Adobe PDF file. It was activated with Adobe Acrobat, but not with Acrobat Reader. From time to time, new vulnerabilities are discovered in various versions of Adobe Reader, prompting the company to issue security fixes. Other PDF readers are also susceptible. One aggravating factor is that a PDF reader can be configured to start automatically if a web page has an embedded PDF file, providing a vector for attack. If a malicious web page contains an infected PDF file that takes advantage of a vulnerability in the PDF reader, the system may be compromised even if the browser is secure. Some of these vulnerabilities are a result of the PDF standard allowing PDF documents to be scripted with JavaScript. Disabling JavaScript execution in the PDF reader can help mitigate such future exploits, although it does not protect against exploits in other parts of the PDF viewing software. Security experts say that JavaScript is not essential for a PDF reader and that the security benefit that comes from disabling JavaScript outweighs any compatibility issues caused. One way of avoiding PDF file exploits is to have a local or web service convert files to another format before viewing. On March 30, 2010 security researcher Didier Stevens reported an Adobe Reader and Foxit Reader exploit that runs a malicious executable if the user allows it to launch when asked.


Software


Viewers and editors

PDF viewers are generally provided free of charge, and many versions are available from a variety of sources. There are many software options for creating PDFs, including the PDF printing capabilities built into macOS, iOS, and most Linux distributions, LibreOffice, Microsoft Office 2007 (if updated to Office 2007#Service Pack 2, SP2) and later, WordPerfect 9, Scribus, numerous PDF print drivers for Microsoft Windows, the pdfTeX typesetting system, the DocBook PDF tools, applications developed around Ghostscript and
Adobe Acrobat Adobe Acrobat is a family of application software and Web services developed by Adobe Inc. to view, create, manipulate, print and manage files in Portable Document Format (PDF). The family comprises Acrobat Reader (formerly Reader), Acrobat (forme ...
itself as well as Adobe InDesign, Adobe FrameMaker, Adobe Illustrator, Adobe Photoshop. Google's online office suite Google Docs allows for uploading and saving to PDF. Some web apps offer free PDF editing and annotation tools. The Free Software Foundation once thought of as one of their High priority free software projects, 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." In 2011, however, the GNU PDF project was removed from the list of "high priority projects" due to the maturation of the Poppler (software), Poppler library, which has enjoyed wider use in applications such as Evince with the GNOME desktop environment. Poppler is based on Xpdf code base. There are also commercial development libraries available as listed in List of PDF software. 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.


Printing

Raster image processors (RIPs) are used to convert PDF files into a raster graphics, raster format suitable for imaging onto paper and other media in printers, digital production presses and prepress in a process known as rasterisation. RIPs capable of processing PDF directly include the Adobe PDF Print Engine from
Adobe Systems Adobe Inc. ( ) is an American multinational computer software company. Incorporated in Delaware and headquartered in San Jose, California, it has historically specialized in software for the creation and publication of a wide range of content ...
and Jaws and the Harlequin RIP from Global Graphics. In 1993 the Jaws raster image processor 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. The submission of press-ready PDF files is a replacement for the problematic need for receiving collected native working files. In 2006 PDF was widely accepted as the standard print job format at the Open Source Development Labs Printing Summit. It is supported as a print job format by the CUPS, Common Unix Printing System and desktop application projects such as GNOME, KDE, Firefox, Mozilla Thunderbird, Thunderbird, LibreOffice and OpenOffice.org, OpenOffice have switched to emit print jobs in PDF. Some desktop printers also support direct PDF printing, which can interpret PDF data without external help.


Native display model

PDF was selected as the "native" metafile format for macOS, Mac OS X, replacing the PICT format of the earlier classic Mac OS. The imaging model of the Quartz (graphics layer), 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), Safari web browser. System-level support for PDF allows Mac OS X applications to create PDF documents automatically, provided they support the OS-standard printing architecture. 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; later versions save screen captures as a PNG file, though this behavior can be set back to PDF if desired.


Annotation

Adobe Acrobat Adobe Acrobat is a family of application software and Web services developed by Adobe Inc. to view, create, manipulate, print and manage files in Portable Document Format (PDF). The family comprises Acrobat Reader (formerly Reader), Acrobat (forme ...
is one example of proprietary software that allows the user to annotate, highlight, and add notes to already created PDF files. One UNIX application available as free software (under the GNU General Public License) is PDFedit. The freeware Foxit Reader, available for Microsoft Windows, macOS and Linux, allows annotating documents. Tracker Software's PDF-XChange Viewer allows annotations and markups without restrictions in its freeware alternative. Apple Inc., Apple's macOS's integrated PDF viewer, Preview, does also enable annotations as does the open-source software Skim (software), Skim, with the latter supporting interaction with LaTeX, SyncTeX, and PDFSync and integration with BibDesk reference management software. Freeware Qiqqa can create an annotation report that summarizes all the annotations and notes one has made across their library of PDFs. The Text Verification Tool exports differences in documents as annotations and markups. There are also web annotation systems that support annotation in pdf and other documents formats. In cases where PDFs are expected to have all of the functionality of paper documents, ink annotation is required.


Alternatives

The Open XML Paper Specification is a competing format used both as a page description language and as the native print spooler format for Microsoft Windows since Windows Vista.


See also

* Web document * XSL Formatting Objects


References


Further reading

* * PDF 2.0 * PDF 2.0
PDF 1.7
an
errata to 1.7

PDF 1.6
() an
errata to 1.6

PDF 1.5
an
errata to 1.5

PDF 1.4
() an
errata to 1.4

PDF 1.3
() an
errata to 1.3


External links


PDF Association
– The PDF Association is the industry association for software developers producing or processing PDF files.


Adobe: PostScript vs. PDF
– Official introductory comparison of PS, EPS vs. PDF. * – Information about PDF/E and PDF/UA specification for accessible documents file format (archived by Wayback Machine, The Wayback Machine)
PDF/A-1 ISO standard
published by the
International Organization for Standardization The International Organization for Standardization (ISO; ) is an international standard-setting body composed of representatives from various national standards organizations. Founded on 23 February 1947, the organization promotes worldwide p ...
(with corrigenda)
PDF Reference and Adobe Extensions to the PDF Specification

Portable Document Format: An Introduction for Programmers
– Introduction to PDF vs. PostScript and PDF internals (up to v1.3)
The Camelot Paper
– the paper in which John Warnock outlined the project that created PDF
Everything you wanted to know about PDF but was afraid to ask

recording of a talk by Leonard Rosenthol
(45 mins) (
Adobe Systems Adobe Inc. ( ) is an American multinational computer software company. Incorporated in Delaware and headquartered in San Jose, California, it has historically specialized in software for the creation and publication of a wide range of content ...
) at TUG 2007 {{Authority control Computer-related introductions in 1993 Adobe Inc. Digital press Electronic documents Graphics file formats ISO standards Office document file formats Open formats Page description languages Vector graphics PDF software,