PDF und PDF/A für Langzeitarchivierung

39
Schnell-Einstieg in das Thema PDF und PDF/A. PDF-Dateistruktur Besonderheiten von PDF/A PDF-Struktur und PDF/A für Langzeitarchivierung

description

PDF-Überblick, aufbau von PDF-Files. Einsatz von PDF/A zur Langzeitarchivierung

Transcript of PDF und PDF/A für Langzeitarchivierung

Page 1: PDF und PDF/A für Langzeitarchivierung

Schnell-Einstieg in das Thema PDF und PDF/A.

PDF-Dateistruktur

Besonderheiten von PDF/A

PDF-Struktur und PDF/A für Langzeitarchivierung

Page 2: PDF und PDF/A für Langzeitarchivierung

► PDF = Portable Document Format► 1993 von Adobe veröffentlicht (basierend

auf Postscript)

Ziele:► Dateiformat für elektronische Dokumente► Unabhängig von Anwendungsprogramm► --“-- Betriebssystem► --“-- Hardwareplattform ► Originalgetreue Wiedergabe► Ansicht und Ausdruck immer in der vom

Author festgelegten Form► Einbetten von Multimedia-Inhalten

PDF - Überblick

Page 3: PDF und PDF/A für Langzeitarchivierung

PDF-Versionen (bis 1.4)

Ver. Pub. New features

1.0 1993

1.1 1996 Passwords, encryption (MD5, RC4 40bit

1.2 1996

Interactive page elements (such as radio buttons and checkboxes); interactive, fill-in forms (AcroForm); Forms Data Format (FDF); mouse events; Multimedia (Sound + Video) zlib/deflatecompression of text or binary data; Unicode

1.3 2000

Digital signaturesJavaScript actions; Embedded file streams - embedding files of any type directly within the body of the PDF file itself (e.g. used for attachmentsAlternate representations for a single image; Smooth shading; Logical structure - a facility for representating logical structure independently of its graphical structure; additional support for CIDFonts;

1.4 2001

JBIG2; transparency; RC4 encryption key lengths greater than 40bits (40-128bits); enhancements to interactive forms and Forms Data Format (FDF), digital signatures in FDF files;support for accessibility to disabled users; Tagged PDF ;Alternate Presentations - alternate ways in which the document may be viewed;

Page 4: PDF und PDF/A für Langzeitarchivierung

PDF-Versionen (seit 1.4)

1.5 2003

JPEG 2000; enhanced support for embedding and playback of multimedia; object streams; cross reference streams;XML Forms Data Format (XFDF) for interactive form submission (replaced the XML format in PDF 1.4permissions - usage rights (UR) signatures (does not require document encryption), PKCS#7 with SHA-1, RSA up to 4096-bits; security handler can use its own encryption and decryption algorithmsSupport for Windows 98 dropped.

1.6 2004

3D artwork,OpenType font embedding; AES encryption; PKCS#7 with SHA256, DSA up to 4096-bits

1.7(ISO 32000-1:2008[1][9])

2006Increased presentation of 3D artwork;support for XFA 2.4 rich text elements and attributes PKCS#7 with SHA384, SHA512 and RIPEMD160

1.7 Extension Level 3

2008256-bit AES encryption;incorporation of XFA Datasets into a file conforming PDF/A-2;

1.7 Extension Level 5

2009 XFA 3.0

1.7 Extension Level 8[16]

2011 Published in April, 2011

Quelle: http://en.wikipedia.org/wiki/Portable_Document_Format

Page 5: PDF und PDF/A für Langzeitarchivierung

PDF Sub-Sets

ISO Jahr Typ Bezeichnung / Bemerkung

15930 2001 PDF/X Übermittlung von Druckvorlagen

15930-8 2008 PDF/X-5 siehe PDF/X

19005 2005 PDF/A  Langzeitspeicherung (PDF Archive)

19005-1 2007 PDF/A-1 Korrektur PDF/A

24517 2008 PDF/E technische Dokumente aus den Bereichen Ingenieurwesen, Architektur und Geo-Informationssysteme (PDF Engineering)

– 2008 PDF/H Gesundheitswesen (PDF Healthcare)

14289 2008 PDF/UA Richtlinien zum Aufbau eines Dokuments im Format PDF (Universal Accessability)

16612-2 2010 PDF/VT hochvolumiger und Transaktionsdruck (PDF Variable and Transactional Printing)

Quelle: http://de.wikipedia.org/wiki/Portable_Document_Format#Normen_und_Standards

Page 6: PDF und PDF/A für Langzeitarchivierung

Einteilung der PDF-Struktur:

► Objekte

► Dateistruktur (Objektverweise)

► Dokumentenstruktur (Objekte <-> PDF-Komponenten)

Aufbau der Datei:

► Sequenz von 8-Bit-Zeichen

► Max. Zeilenlänge: 255 Zeichen

► CR/LF am Zeilenende

► Case-Sensitive

► Nur druckbare ASCII-Zeichen

Aufbau von PDF-Dateien

Page 7: PDF und PDF/A für Langzeitarchivierung

► Boolesche Objekte (boolean): true / false

► Zahlen (integer oder real)

► Strings (Folge von Bytes - unsigned integer)

(Hello World, hello PDF! \n)

Als Hex: <ff02335a0>

► Namen (name)

/Label1 /A;Name_mit_verschiedenen_Zeichen_****?

Objekt-Typen

Page 8: PDF und PDF/A für Langzeitarchivierung

► Null-Objekt

► Arrays

[11.2 (Das ist ein Feld) /Label1 false]

► Wörterbuch-Objekt (dictionary)«

/Type /Beispiel1/Subtype /DictionaryBeispiel/Version 1.0/Subdictionary«

/Schlüssel1 100/Schlüssel2 (Test)

»»

Objekt-Typen (2)

Page 9: PDF und PDF/A für Langzeitarchivierung

► Streams

Folge von Bytes

Inkrementelles Einlesen möglich

Keine Fixe Größe

Bestehen aus Wörterbuch-Objekt und Inhalt

(zwischen „stream“ und „endstream“)

Zwingend: Angabe von /Length

Objekt-Typen (3)

Quelle: http://blog.didierstevens.com/2008/05/19/pdf-stream-objects/

Page 10: PDF und PDF/A für Langzeitarchivierung

Objekte – Streams - Filter

Filter (kaskadierend, können Optionen enthalten) - zB:

ASCIIHEX / ASCII85

LZW (Lempel-Ziv-Welch): Text, Grafiken, usw – ca 2:1

JPEG – ca 10:1

CCITT – JBIG2: monochrome Bilder ca 20-50:1

Crypt

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf (Seite 23)

Page 11: PDF und PDF/A für Langzeitarchivierung

Dateistruktur

Im wesentlichen 4 Teile:

► Head (nur 1x)

PDF-Version

zB %PDF-1.4

► Body (mehrfach)

PDF-Objekte (direkte und indirekte)

Baumstruktur

► XRef (mehrfach)

Cross-Reference-Tabelle (indirekte

Objekte)

► Trailer (mehrfach)

Position von XRef

Dictionary mit besonderen Informationen

Quelle: http://www.iicm.tu-graz.ac.at/thesis/dekert.pdf

Page 12: PDF und PDF/A für Langzeitarchivierung

Dateistruktur – Inkrementell

Inkrementelles Speichern

► Schnelleres Speichern

► Rollback leicht möglich

► Ermöglicht mehrfache Signaturen

► Dateigröße wächst an

► Keine Optimierung nach Signatur!

Quelle: http://labs.appligent.com/pdfblog/pdf_basic_file_layout.php

Page 13: PDF und PDF/A für Langzeitarchivierung

Dateistruktur - Linearization

Aka „Fast Web View“

Umstrukturiertung der Objekte: erste Seite am

Dateianfang

Tips:

► Initial View auf „Page Only“ setzen

► Formulare nicht linearisieren

► Kein Vorteil bei einseitigen PDFs

► Doku in der Adobe Referenz mangelhaft

► Testen nur schwer möglich

Quelle: http://labs.appligent.com/pdfblog/linearization.php

Page 14: PDF und PDF/A für Langzeitarchivierung

xref

67 7

0000000016 00000 n

0000000687 00000 n

0000001193 00000 n

0000001347 00000 n

0000001530 00000 n

0000002053 00000 n

0000002621 00006 f

Dateistruktur - XRef

Quelle: http://www.iicm.tu-graz.ac.at/thesis/dekert.pdf

67 7 – Objekt-ID und Anzahl der Objekte in dem Abschnitt

[blank]

0000000016 – 10 Byte: Offset ab Dateibeginn / führende

Nullen

[blank]

00000 – 5 Byte: Versionsnummer / Init mit 00000 / Objekt 0 =

65535

[blank]

n/f – f=„freies Objekt“ / n = „belegtes Objekt“

EOF oder [blank] + CR / LF

Immer 20 Byte je Zeile

Größenbeschränkung durch Offset: ca. 9,3 GB

Page 15: PDF und PDF/A für Langzeitarchivierung

trailer

« /Size 14346

/Info 14116 0 R

/Root 14128 0 R

/Prev 2737603

/ID[<6543940949663bb28cd1f1fbbbc93894>

<f562340632c0b5acb04029e70d9c36db>]

»

startxref 0

%%EOF

Dateistruktur - Trailer

Quelle: http://www.iicm.tu-graz.ac.at/thesis/dekert.pdf (Seite 49)

Acrobat Reader liest PDF-Dateien von hinten

X-Ref Start-Pos: zwischen startxref und EOF

Trailer-Wörterbuch:

Size - Anzahl der Einträge in der XRef;

Prev – Offset von Dateibeginn bis zum vorherigen

Xref

Root - Objektnummer des catalog dictionary

Encrypt - Objektnummer des encryptiondictionary;

Info - Die Objektnummer des Wörterbuches,

welches den Meta-Inhalt enthält (information

dictionary);

ID - ein Array, bestehend aus zwei Strings; die ID

dient als eindeutige Identifikation der Datei

Page 16: PDF und PDF/A für Langzeitarchivierung

Document Catalog

Quelle: http://www.iicm.tu-graz.ac.at/thesis/dekert.pdf

Angaben zur Dokumentenanzeige (zB PageMode)

Page Tree (alle Seiten)

Outline hierarchy: Lesezeichen <-> Seiten

Article threads Textfluss für Artikel > 1 Seite

Named destinations Namen <-> Objekte

Interactive Forms Formularfelder

1 0 obj«/Type /Catalog/Pages 5 0 R/Outlines 10 0 R/PageMode /UseOutlines»endobj

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf (Seite 72)

Page 17: PDF und PDF/A für Langzeitarchivierung

Page Tree

2 0 obj«/Type /Pages/Kids [ 4 0 R 10 0 R 24 0 R ]/Count 3»endobj

4 0 obj«/Type /Page/Parent 2 0 R/MediaBox [0 0 612 792]/Resources«

/Font«/F3 7 0 R/F5 9 0 R/F7 11 0 R»

/ProcSet [/PDF]»/Contents 12 0 R/Thumb 14 0 R»endobj»

Optimal: Balanced tree – Alle Blätter sind

gleich weit von der Wurzel entfernt

Beispiel:

3 Seiten mit /Kids definiert

Einzelne Seiten mit /Type /Page/Parent - Verknüpfung mit Page Tree

/MediaBox – Größe der Seite

/Resources – dictionary

/Contents – Referenz zu Content-Stream

/Thumb – Referenz zu Thumbnails

Sonstiges: Annotationen / Meta-Infos / Versionierung / Größenangabe (CrobBox, TrimBox, ArtBox, BlendBox)

Page 18: PDF und PDF/A für Langzeitarchivierung

Seitengeometrie

► MediaBox

Größe des Ausgabemediums

► CropBox

Größe für Ausgabe (Drucker, Bildschirm)

► BleedBox

Anschnittrahmen (meist 3mm)

► TrimBox

Endformat ohne Beschnitt

► ArtBox

Objektrahmen

Quelle: http://de.wikipedia.org/wiki/Portable_Document_Format#Angaben_der_Seitengeometrie

Page 19: PDF und PDF/A für Langzeitarchivierung

Schriftarten eingebettet vs. verlinkt

► Fonts

TrueType / Type1 / Type3 /

OpenType

Ca 30-40 kB pro eingebetteter

Schriftart

Subsetting vs. Full embedding

Ähnliche Schriftart: Multiple

Master Font

Extrahieren nicht möglich

Page 20: PDF und PDF/A für Langzeitarchivierung

PDF/A - Überblick

► Ziel: Langzeitarchivierung

► 2005 veröffentlicht – 2007

korrigiert

► 2 Sub-Sets: PDF/A-1b – Level B (Basic)

 eindeutige visuelle Reproduzierbarkeit

PDF/A-1a - Level A(Accessible) eindeutige visuelle Reproduzierbarkeit als auch Abbildbarkeit von Text nach Unicode und inhaltliche Strukturierung des Dokuments (ISO 19005-1)

► Vollständigkeit der Daten

Alle Schriftarten und Bilder eingebettet

Kennzeichnung als PDF/A-1 mit XMP

► Eindeutigkeit

Farb-Definition

Eindeutige Kodierung der Schrift

Keine Alternativen Bilder

► Zugänglichkeit

Verschlüsselung bzw. Sperren nicht

erlaubt

► Keine Dynamischen Funktionen

Page 21: PDF und PDF/A für Langzeitarchivierung

PDF/A-1 a/b - Gemeinsamkeiten

► Basis für PDF/A-1: PDF 1.4► Metadaten müssen XMP-Konform sein► Verschlüsselung: keine Sicherheitseinstellungen möglich: Das Öffnen/Verarbeiten muss

auch ohne Passwort gewährleistet sein► Farben: Alle Farben müssen gekennzeichnet sein, geräteabhängige Farbräume müssen

per OutputIntent gekennzeichnet sein. Mischen von CMYK und RGB verboten.► Tranzparenz: nicht zulässig► PDF-Ebenen: Nicht zulässig► Kompression: LZW und JPEG2000 geht nicht► Fonts: müssen eingebettet sein (zumindest als Untergruppe) / Eindeutige Kodierung der

Schrift► Anmerkungen: Sound, Movie-Kommentare gehen nicht / Normale Text-Markierungen

sind zulässig► Keine Referenzierten Objekte (nicht eingebettet)► Alternative Bilder nicht zulässig► JavaScript nicht zulässig► Formulare: Mit Einschränkungen möglich (zB keine versteckten Felder, keine Aktionen) ► Aktionen: nicht zulässig► Kein Postscript

Page 22: PDF und PDF/A für Langzeitarchivierung

PDF/A-1 a/b - Unterschiede

  PDF/A-1a PDF/A-1bÜbereinstimmung

 Vollständige PDF/A-Übereinstimmung.

Beschränkte PDF/A-Übereinstimmung.

Ziel Archiv-PDF samt kompletter Zugänglichkeit zu allen Inhalten.

Lediglich die rein visuelle Reproduzierbarkeit wird garantiert.

Logische Struktur Struktur und Zugänglichkeitüber Tagging, alternative Bildbeschreibungen,Nennung derverwendeten Sprache.Natural Language Spezification für barrierefreie Dokumente

Keine expliziten Anforderungenan die logische Struktur.

Fonts Jeder Buchstabe muss nach Unicode abgebildet werden können.

 

Page 23: PDF und PDF/A für Langzeitarchivierung

Ausblick: PDF/A-2

► Enthält die Änderungen von PDF 1.5, 1.6 und 1.7 (ISO 19005-2)

► PDFA/A-1 sind automatisch PDF/A-2 kompatibel (aber nicht andersrum)

► PDF/A2 beruht nicht mehr auf der Adobe PDF Referenz sondern auf ISO

32000-1

► Veröffentlichung noch für 2011 vorgesehen (Info lt. Ricoh Roadshow Mai 2011)

► Technisches Komitee:

► AIIM (http://www.aiim.org/Resources/Standards/Committees/PDFA)

Page 24: PDF und PDF/A für Langzeitarchivierung

Komprimierung von PDF/A

► Derzeit erlaubt: ZIP / JPEG / CCITT

► Nicht erlaubt: LZW, da Patent-Probleme

►Künftig erlaubt: JPEG2000

ca 30% höhere Kompressionsrate

gegenüber JPEG

JPEG: Schwächen bei Liniengrafiken,

Texten, Cartoons behoben

► Idee: Ressourcen absplitten

Quelle:

http://www.pdf-tools.com/pdf/pdfa-langzeitarchivi

erung-iso-19005-pdf.aspx#PDFAprodukte

 

• Quelle: http://www.nets.rwth-aachen.de/content/teaching/proseminars/sub/2002_2003_ws_docs/jpeg.pdf

Page 25: PDF und PDF/A für Langzeitarchivierung

Metadaten

► XMP – Extensible Metadata Platform

► Basiert auf RDF (Resource Description Framework)

► Verwendung zB bei PDF, JPG, PNG, MP3, MP4, usw…

► Verwendung von XMP-Schemata (http://www.adobe.com/products/xmp/pdfs/whitepaper.pdf)

2001: XMP von Adobe konzipiert (Teil von Acrobat 5.0)

2004: Zusammenarbeit mit anderen Firmen um neues Schema zu erstellen

2005: v 1.0 von XMP veröffentlicht

2007: Toolkit unter BSD-Lizenz freigegeben

► Fasst Properties zusammen

z.B. Autor, Thema, Titel in DC Schema

z.B. Besitzer, Zertifikat, Rechte in Rights Management Schema

► Eindeutige Namespace-URI pro Schema

z.B. DC Schema = http://purl.org/dc/elements/1.1/

Präfix: dc

Page 26: PDF und PDF/A für Langzeitarchivierung

XMP und PDF/A

► XMP zwingend bei PDF/A

XMP-Metadaten sind als Stream in einem Objekt gespeichert

Binary-Daten nicht erlaubt – Konvertierung zB mit Base64

Basieren auf XMP 2004

Erfordert gespiegelte Einträge zum Dokumentinfo

Strenge Regeln für XMP Schema

► Vordefinierte Schemas in PDF/A

Dublin Core: Standard-Eigenschaften (http://dublincore.org) (zB contributor, creator, format, language,

subject)

XMP Basic: Beschreibende Eigenschaften (zB CreateDate, CreateTool, ModifyDate)

XMP Rights Management

XMP Media Management (zB Scanning, History)

Adobe PDF (zB Keywords, PDFVersion, Producer)

► XMP-Erweiterungen

Erweiterungen sind Schemas „Extension Schema Container Schema“

Definieren neue Eigenschaften (Name, Beschreibung, Datentyp)

Neue, komplexe Datentypen können definiert werden.Quellen: http://www.pdfa.org/doku.php?id=artikel:pdfa_und_metadaten_teil_4

Und http://nestor.sub.uni-goettingen.de/seminar_bundesarchiv/docs/04-Metadaten-KK.pdf

Page 27: PDF und PDF/A für Langzeitarchivierung

XMP-Toolkit

► XMP-Toolkit von Adobe (http://www.adobe.com/devnet/xmp.html)

Sources und Samples sind in C++ und Java verfügbar

Besteht aus 2 Teilen:

XMPCore: zum erstellen und bearbeiten von XMP-Daten

XMPFiles: zum auslesen von XMP-Daten

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:08:04 ">

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="„

xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> <pdf:Producer>GPL Ghostscript 9.0</pdf:Producer> <pdf:Keywords/>

</rdf:Description> <rdf:Description rdf:about="„

xmlns:xmp="http://ns.adobe.com/xap/1.0/"> <xmp:ModifyDate>2011-05-23T17:23:33+02:00</xmp:ModifyDate>

<xmp:CreateDate>2011-05-23T08:53:07+02:00</xmp:CreateDate> <xmp:CreatorTool>PDFCreator Version 1.2.0</xmp:CreatorTool>

► Weitere Infos

Online XMP-Validator: http://www.pdflib.com/de/knowledge-base/xmp-metadaten/kostenloser-xmp-validator/

Überblick zu XMP: http://www.pdflib.com/de/knowledge-base/xmp-metadaten/

Detaillierte Spezifikation: http://partners.adobe.com/public/developer/en/xmp/sdk/XMPspecification.pdf

Page 28: PDF und PDF/A für Langzeitarchivierung

Tagged PDF

► Grundlage für barrierefreie PDF-Dokumente► Syntax ähnlich (X)HTML► zB Lesezeichen, Alternativtexte für Bilder, Inhalte Strukturieren, usw► Re-flow (Anpassung an das Lesegerät)► Künftiger Standard: PDF/UA für barrierefreie Dokumente► Nachträgliche Anpassung meist nur händisch möglich sehr Zeitaufwendig

► Weitere Infos:AIIM: http://www.aiim.org/Resources/Standards/Committees/PDFUA

ISO: http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=240&ics3=30&csnumber=54564

Page 29: PDF und PDF/A für Langzeitarchivierung

Beschränkungen

► Seitengröße

Bis Version 3: 45x45 Zoll (ca. 1,14 m)

Bis Version 6: 200x200 Zoll (ca. 5,08 m)

Seit Version 7: 15.000.000x15.000.000 Zoll (ca. 381 km)

► Seitenanzahl

Lt. Spezifikation nicht begrenzt

► Dateigröße

Bis pdf v1.5: Max. 10 GB (Danach unbegrenzt durch XRef-Streams)

PDF/A: Beschränkung auf max. 2 GB

Page 30: PDF und PDF/A für Langzeitarchivierung

PDFs generieren

► Postscript-Umweg

Anwendung Postscript PDF

zB Adobe Distiller / Ghostscript (unzählige Wrapper verfügbar – zB Rumborak)

TIP: Es sollte ein spezieller PDF/A-Druckertreiber verwendet werden (zB eDocPrintPro PDF/A

http://www.pdf-signatur.at/pdf-und-pdfa-drucker/edocprintpro-pdfa.html)

► Scan + OCR + Konvertierung

► Direkt aus der Anwendung heraus

Anwendung PDF

Vorteil: Tagging kann übernommen werden

zB Adobe PDF-Writer / OpenOffice / Scribus / pdfTex

Tip: PDF-Writer umgeht Postscript und ist schneller als der Distiller

► Via APIs aus eigenen Anwendungen

zB Xpdf (C++) / PdfLIb (C) / Reportlab (Python) / iText, pjx, pdfbox (Java) / fpdf (PHP)

Page 31: PDF und PDF/A für Langzeitarchivierung

PDFs Generieren – via XML

► 2 Schritte zum Konvertieren: Transformation mit Hilfe eines XSLT-Stylesheets in das XSL-FO-Format Ein PDF-Prozessor (zum Beispiel Apache FOP (Open Source -

http://xmlgraphics.apache.org/fop/), Altsoft Xml2PDF (kommerziell http://www.alt-soft.com/Products_xml2pdf.aspx) erzeugt daraus das fertige PDF-Dokument.

<?xml version="1.0"?><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-width="210mm" page-height="297mm"> <fo:region-body region-name="xsl-region-body" margin="2cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <!-- (in Versionen < 2.0 "master-name") --> <fo:flow flow-name="xsl-region-body"> <fo:block>Hallo Welt!</fo:block> </fo:flow> </fo:page-sequence></fo:root>

Quelle: http://de.wikipedia.org/wiki/Extensible_Stylesheet_Language_%E2%80%93_Formatting_Objects

Page 32: PDF und PDF/A für Langzeitarchivierung

PDF-Generieren – Delphi mit PDFLib

var

p: TPDFCanvas;

begin

p := TPDFCanvas.Create;

p.OpenFile(sFileName, crBestCompressed, 'Generator', 'Author', 'Keywords', '', '', true);

p.SetFontPath('\..\Vorlagen\Berichte', ftFontOutLine);

p.OpenFont('Univers','UVL_____.TTF', ftFontOutLine);

p.OpenFont('UniversBold','unvr55w.ttf', ftFontOutLine);

p.BeginPage(21.0, 29.7, 0, 0, 0, 0);

p.fMarginLeft := 2;

p.fMarginTop := 4;

p.fMarginRight := 2;

p.fMarginBottom := 2;

p.SetTextAt(p.fMarginLeft, 0, 3, 0, 'Hello World', tmLeft);

p.EndPage;

p.CloseFile;

p.Destroy;

end;

Page 33: PDF und PDF/A für Langzeitarchivierung

PDFs validieren

► Was wird geprüft: für die entsprechenden Objekte

werden auch die passenden Datentypen genutzt

keine unnötige Konvertierung (zB Kreis zu Linienstücken)

Wenig redundanter Code – Analyse der Content-Streams

Bilder in gut komprimierenden Formaten (Analyse der XObjects)

Tools zum Validieren: PDF ToolKit (

http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)

Xpdf (http://foolabs.com/xpdf/) Editoren (vim, notepad, …) Viewer (Acrobat Reader, Xpdf) Rasterizer (gs, pdftoppm, …) Preflight von Adobe Acrobat

3-Heights PDF Validator (http://www.pdf-tools.com/)

Callas pdfaPilot 2 (http://www.callassoftware.com/callas/doku.php/de)

Onlinedienst: http://www.validatepdfa.com/de/

Software-Übersicht: http://www.pdfa.org/doku.php?id=pdfa:produkte:validieren

Page 34: PDF und PDF/A für Langzeitarchivierung

PDF-Signaturen

► Ziel: Identität des Absenders feststellen

► PDF/A erlaubt nur Dokumentsignatur

(PDF/A Konformität für sichtbare

Signaturen - Schriftarten einbetten!)

► Eintragung ins „Signature dictionary“ des

Document-Catalogs

► Umgekehrtes Public-Key-Verfahren

► Tools zum Signieren:

Zb Online via:

http://www.buergerkarte.at/pdf-as/Update

Form

Weitere Tools:

http://www.pdfa.org/doku.php?id=pdfa:pr

odukte:signaturen

Page 35: PDF und PDF/A für Langzeitarchivierung

Verschlüsselung / Passwortschutz

► Verschlüsseln / Passwort bei PDF/A-Files lt. Standard nicht erlaubt

Lösungsansatz: PDF-Files unverschlüsselt anlegen, und dann auf passwortgeschütztem Volume /

Datenträger ablegen

Bis v1.4: MD5, RC4-40-128Bit,

Ab v1.4: PKCS#7 with SHA384, SHA512, RIPEMD160, DSA up to 4096-bit, RSA up to 4096-bits

► Tools (Variable Key-Länge):

Acrobat Onboard

VeryPDF (http://www.verypdf.com/encryptpdf/index.htm)

PDF Encrypt Tool v2 (http://www.pdf-convert.com/pdf-encrypt-tool/index.htm)

A-Pdf (http://www.a-pdf.com/security/password.htm)

PDF-Toolkit (http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/)

 

► Beispiel mit PDF-Toolkit:

pdftk mydoc.pdf output mydoc.128.pdf owner_pw foopass

Page 36: PDF und PDF/A für Langzeitarchivierung

Tipps & Tricks

► Herausforderungen beim Konvertieren:

Farben: Farbprofile in der Quelle fehlen – Annahmen über Farbraum müssen

getroffen werden

Schriften: Fehlende Schriften müssen ersetzt werden. Voraussetzung: Text muss als

Unicode vorliegen

Transparenz: Verflachen von Transparenz ist komplex Gefahr von

Informationsverlust

Digitale Signaturen: Prüfen, Dokumentieren, Neu Signieren

► Platz sparen zB durch:

Absplitten von Elementen (zB Schriftarten) und späterem Mergen (vgl. pdf-

tools.com)

Daten-Deduplizierung – zB von EMC

Page 37: PDF und PDF/A für Langzeitarchivierung

Tipps & Tricks

► Best Practice bei Umwandlung von E-Mails

Probleme: Attachment-formate, Verschiedene Informationen (Header, Body, RTF,

Text Only, usw…)

Body und Anhänge einzeln konvertieren, dann in ein Dokument zusammenfassen.

Signaturen auch einzeln behandeln.

► Best Practice bei Webseiten

Problem: Druck-Ansicht oder Bildschirm-Ansicht

Einen Browser als Referenz festlegen / evtl. Richtlinien für archivfreundliche

Seitengestaltung / entweder Bildschirm oder Druckdarstellung / Zusätzliche

Inhalte speichern (zB Texte, Bilder, Fonts, Hintergründe, Flash-Previews)

Page 38: PDF und PDF/A für Langzeitarchivierung

Doku / Literatur

► Allgemeiner PDF/A Überblick PDF/A Kompakt (gratis, aber registrierung nötig – recht guter überblick): http://

www.pdfa.org/doku.php?id=pdfa:pdfa_kompakt Generelle Infos zu PDFs: http://www.prepressure.com/pdf/basics Diplomarbeit mit Allgemeinen Infos: http://www.iicm.tu-graz.ac.at/thesis/dekert.pdf

► PDF-Referenzen PDFlib Cookbook:  http://www.pdflib.com/pdflib-cookbook/ PDF-Bibel: http://www.pdflib.com/developer/technical-documentation/books/postscript-pdf-bibel/ ISO-Standard 19005-1:2005 (CHF 118,-): http://

www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=38920 (Achtung: Corrigendum 1 beachten)

PDF-Standard lt. ISO 3200: http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf

Schneller Überblick der Dateistruktur: http://www.planetpdf.com/planetpdf/pdfs/seyboldseminars/ny02/king_jim_PDFAsPackageAnnot.pdf

► Langzeitarchivierung Nestor-Handbuch: eine kleine Enzyklopädie der digitalen Langzeitarchivierung: http://

nestor.sub.uni-goettingen.de/handbuch/nestor-handbuch_23.pdf

► Sonstiges Bericht über die Genauigkeit von PDF/A-Validatoren von PDFLib: http://

www.pdflib.com/fileadmin/pdflib/pdf/pdfa/2009-05-04-Bavaria-report-on-PDFA-validation-accuracy.pdf Gute Software-Übersichtsseite: http://www.pdfa.org/doku.php?id=pdfa:produkte PDF/A Competence Center: http://www.pdfa.org/

Page 39: PDF und PDF/A für Langzeitarchivierung

Richard Gaun Diplom-Wirtschaftsinformatiker

Mail: [email protected]

Fon: +43 (0) 680 / 123 87 87

Twitter: RichardGaun

► IT-Consulting mit 360°-Blick.

Kontakt