Able2Extract Pro

Portable Document Format

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 recently took a major step towards becoming ISO32000. [1][2]

History

When 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 of 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. 

Technical foundations

Anyone 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-freeuse in developing software complying with its PDF specification.[4]
The PDF combines three technologies:

PostScript

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

Affiliate PDF Dispenser

Often, the PostScript-like PDF code is generated from a source PostScript file. The graphics commands that are output by the PostScript code are collected and tokenized; any files, graphics, or fonts to which the document refers also are collected; then, everything is compressed to a single file. Therefore, the entire PostScript world (fonts, layout, measurements) remains intact.
As a document format, PDF has several advantages over PostScript:

Technical overview

File structure

A PDF file consists primarily of objects, of which there are eight types:[5]
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.[6] 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 model

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

Vector graphics

Vector graphics in PDF, as in PostScript, are constructed with paths. Paths are usually composed of lines and cubic 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 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.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 images

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

and the image-specific filters

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

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

Encodings

Within text strings characters are shown using character codes (integers) that map to glyphs in the current font using an encoding. There are a number of 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. 

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 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 Photoshopat 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.[7]

 Interactive elements

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

Logical structure and accessibility

A PDF may contain structure information to enable better text extraction and accessibility. 

Security and signatures

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

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

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

According to a 7 December 2006 Government Computer News blog, Joab Jackson writes that Adobe is exploring an XML-based next-generation PDF codenamed Mars: http://www.gcn.com/blogs/tech/42740.html

Adobe has published information about the Mars file format at http://www.adobe.com/go/mars and at http://labs.adobe.com/wiki/index.php/Mars.

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

 Technical issues

Accessibility

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

One of the major problems 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.[citation needed] Virus researchers found that the PDF file viruses activated with Adobe Acrobat, but not with Acrobat Reader. As with all file formats, caution is advised. An up-to-date antivirus program is paramount.

Usage restrictions and monitoring

PDFs may be encrypted so that a password is needed to view or edit the contents. The PDF Reference defines both 40-bit and 128-bit encryption, both making use of a complex system of RC4 and MD5. The PDF Reference also defines ways in which third parties can define their own encryption systems for use in PDF.

PDF files may also contain embedded DRM restrictions that provide further controls that limit copying, editing or printing. The restrictions on copying, editing, or printing depend on the reader software to obey them, so the security they provide is limited. Printable documents especially might be saved instead as bitmaps and subject to OCR.

The PDF Reference has technical details or see [2] 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.

Through their LiveCycle Policy Server product, Adobe provides a method to set security policies on specific documents. This can include requiring a user to authenticate and limiting the time frame a document can be accessed or amount of time a document can be opened while offline. Once a PDF document is tied to a policy server and a specific policy, that policy can be changed or revoked by the owner. This controls documents that are otherwise "in the wild." Each document open and close event can also be tracked by the policy server. Policy servers can be set up privately or Adobe offers a public service through Adobe Online Services.

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.

Content

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

In later PDF revisions, a PDF document can also support links (inside document or web page), forms, JavaScript (initially available as plugin for Acrobat 3.0), or any other types of embedded contents that can be handled using plug-ins.

PDF 1.6 supports interactive 3D documents embedded in the PDF.

Two PDF files which 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. 

Base 14 fonts

There are fourteen typefaces that have a special significance to PDF documents: Times Roman (in standard, italic, bold, and bold oblique), Courier (in standard, oblique, bold and bold oblique), Helvetica (in standard, oblique, bold and bold oblique), Symbol and Zapf Dingbats. These should always be present (actually present or a close substitute) and so need not be embedded in a PDF. [3] PDF viewers must know about the metrics of these fonts. Other fonts may be substituted if they are not embedded in a PDF.

Implementations

Readers for many platforms are available, such as Adobe Reader, Foxit, Preview, Xpdf, Drumlin, ePDFView, Evince, Okular, and KPDF; there are also front-ends for many platforms to Ghostscript. PDF readers are generally free. There are many software options for creating PDFs, including the PDF printing capability built in to Mac OS X, the multi-platform OpenOffice.org, Microsoft Office 2007 (an additional free download from Microsoft is required), Wordperfect since version 9, numerous PDF print drivers for Microsoft Windows, the pdfTeX typesetting system, the DocBook PDF tools and Adobe Acrobat itself.

There is also specialized software for editing PDF files, though the choices are much more limited and often expensive. Adobe Acrobat Professional is one example of software that allows the user to annotate (highlight, add notes) to already created PDF files. A free one is PDFedit.

AGFA introduced and shipped Apogee, the very first prepress workflow system based on PDF in 1997.

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. 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 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 consider one of the High Priority Free Software Projects"developing a free, high-quality and fully functional set of libraries and programs that implement the PDF file format and associated technologies to the coming ISO standard, ISO 32000
 

Sonic PDF Creator