aboutsummaryrefslogtreecommitdiffstats
path: root/src/documentation/content/xdocs/0.92/pdfa.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/documentation/content/xdocs/0.92/pdfa.xml')
-rw-r--r--src/documentation/content/xdocs/0.92/pdfa.xml132
1 files changed, 132 insertions, 0 deletions
diff --git a/src/documentation/content/xdocs/0.92/pdfa.xml b/src/documentation/content/xdocs/0.92/pdfa.xml
new file mode 100644
index 000000000..0df4d6adb
--- /dev/null
+++ b/src/documentation/content/xdocs/0.92/pdfa.xml
@@ -0,0 +1,132 @@
+<?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&amp;ICS1=37&amp;ICS2=100&amp;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>