123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?xml version="1.0" standalone="no"?>
- <!--
- Copyright 2006 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
- <!-- $Id$ -->
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "document-v20.dtd">
- <document>
- <header>
- <title>PDF/A (ISO 19005)</title>
- <version>$Revision: 389563 $</version>
- <authors>
- <person name="Jeremias Märki" email="jeremias@apache.org"/>
- </authors>
- </header>
- <body>
- <section id="overview">
- <title>Overview</title>
- <warning>
- Support for PDF/A is available beginning with version 0.92.
- </warning>
- <p>
- PDF/A is a standard which turns PDF into an "electronic document file
- format for long-term preservation". PDF/A-1 is the first part of the
- standard and is documented in
- <a href="http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=38920&ICS1=37&ICS2=100&ICS3=99">ISO 19005-1:2005(E)</a>.
- Work on PDF/A-2 is in progress at
- <a href="http://www.aiim.org/standards.asp?ID=25013">AIIM</a>.
- </p>
- <p>
- Design documentation on PDF/A can be found on FOP's Wiki on the
- <a href="http://wiki.apache.org/xmlgraphics-fop/PDFA1ConformanceNotes">PDFA1ConformanceNotes</a> page.
- </p>
- </section>
- <section id="status">
- <title>Implementation Status</title>
- <p>
- <strong>PDF/A-1b</strong> is implemented to the degree that FOP supports
- the creation of the elements described in ISO 19005-1.
- </p>
- <p>
- There is a restriction with
- XMP metadata. If an XMP metadata packet is present in the fo:declarations
- element of an FO file, the values from the XMP packet are not synchronized
- with the Info PDF object as is mandated by chapter 6.7.3 of the ISO document.
- However, if no XMP packet is supplied FOP automatically generates an XMP
- packet from the values in the Info PDF object.
- </p>
- <p>
- Tests have been performed against jHove and Adobe Acrobat 7.0.7 (Preflight function).
- </p>
- <p>
- <strong>PDF/A-1a</strong> is not implemented, yet. This is mostly because of the requirement
- for tagged PDF which is not available in FOP, yet.
- </p>
- </section>
- <section id="command-line">
- <title>Usage (command line)</title>
- <p>
- If you specify "-pdfa1b" instead of "-pdf" for the output format on the
- command line, support for PDF/A-1b is activated. If there is a violation of
- one of the validation rules for PDF/A, an error message is presented and the
- processing stops.
- </p>
- </section>
- <section id="embedded">
- <title>Usage (embedded)</title>
- <p>
- When FOP is embedded in another Java application you can set a special option
- on the renderer options in the user agent to activate the PDF/A-1b profile.
- Here's an example:
- </p>
- <source><![CDATA[
- FOUserAgent userAgent = fopFactory.newFOUserAgent();
- userAgent.getRendererOptions().put("pdf-a-mode", "PDF/A-1b");
- Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent);
- [..]]]></source>
- <p>
- If one of the validation rules of PDF/A is violated, an PDFConformanceException
- (descendant of RuntimeException) is thrown.
- </p>
- </section>
- <section id="rules">
- <title>PDF/A in Action</title>
- <p>
- There are a number of things that must be looked after if you activate a PDF/A
- profile. If you receive a PDFConformanceException, have a look at the following
- list (not necessarily comprehensive):
- </p>
- <ul>
- <li>
- Make sure all (!) fonts are embedded. If you use base 14 fonts (like Helvetica)
- you need to obtain a license for them and embed them like any other font.
- </li>
- <li>
- Don't use PDF encryption. PDF/A doesn't allow it.
- </li>
- <li>
- Don't use CMYK images without an ICC color profile. PDF/A doesn't allow mixing
- color spaces and FOP currently only properly supports the sRGB color space. Please
- note that FOP embeds a standard sRGB ICC profile (sRGB IEC61966-2.1) as the
- primary output intent for the PDF.
- </li>
- <li>
- Don't use non-RGB colors in SVG images. Same issue as with CMYK images.
- </li>
- <li>
- Don't use EPS graphics with fo:external-graphic. Embedding EPS graphics in PDF
- is deprecated since PDF 1.4 and prohibited by PDF/A.
- </li>
- <li>
- PDF is forced to version 1.4 if PDF/A-1 is activated.
- </li>
- <li>
- No filter must be specified explicitely for metadata objects. Metadata must be
- embedded in clear text so non-PDF-aware applications can extract the XMP metadata.
- </li>
- </ul>
- </section>
- </body>
- </document>
|