3-Heights® PDF Validator - Komponente für die PDF/A Validierung
Der 3-Heights® PDF Validator dient der Qualitätssicherung von PDF Dokumenten und Prozessen, welche solche erzeugen. Dokumente werden auf Konformität zu den ISO Normen für PDF und PDF/A geprüft.
PDF ist ein weit verbreitetes Format. Deshalb ist es wichtig, dass die Interoperabilität gewährleistet ist. Insbesondere, wenn geschäftsrelevante oder zu archivierende Informationen enthalten sind, müssen die Dokumente auf ihre Korrektheit und langfristige Lesbarkeit geprüft werden. Genau diese Aufgabe, sei es für einzelne Dokumente oder Stapel, übernimmt der Validator.
PDF und PDF/A Verifizierung
Prüfen von Dokumenten bezüglich Einhaltung der PDF und PDF/A Norm
Digitale Langzeitarchivierung
In Archivsysteme integrieren
Qualitätskontrolle
Sicherstellen von Unternehmensrichtlinien
3-Heights® PDF Validator prüft elektronische Versicherungsanträge
Bayer CropScience zählt auf das ISO Langzeitarchivformat PDF/A

PDF Validator - Funktionen
- Validierung von PDF-Dokumenten auf Basis verschiedener PDF-Spezifikationen (PDF1.x, PDF 2.0, PDF/A-1, PDF/A-2, PDF/A-3)
- PDF Konformität anhand von lexikalischen, syntaktischen und semantischen Prüfungen bestimmen
- Detailiertes oder zusammengefasste (log file)
- Detaillierte Fehlerbeschreibung (Anzahl, Typ, Beschreibung, PDF-Objekt, Seitenzahl)
- Klassifizierung nach Fehler, Warnung und Information
- Optionaler Abbruch der Validierung nach Auftreten des ersten Fehlers
- Lesen verschlüsselter PDF Dokumente
- Behauptete PDF Konformität des Dokumentes bestimmen
- Validierung der Einhaltung von Unternehmensrichtlinien, die in einem benutzerdefinierten Profil definiert sind
- Dokument aus einer Datei, Memory oder einem Stream lesen oder schreiben

Conformance
- Standards:
- ISO 32000-1 (PDF 1.7)
- ISO 32000-2 (PDF 2.0)
- ISO 19005-1 (PDF/A-1)
- ISO 19005-2 (PDF/A-2)
- ISO 19005-3 (PDF/A-3)
- Quality assurance: veraPDF test corpus and Isartor test suite
Unterstützte Formate
Input formats
- PDF 1.3 to 1.7
- PDF 2.0
- PDF/A-1a, PDF/A-1b
- PDF/A-2a, PDF/A-2b, PDF/A-2u
- PDF/A-3a, PDF/A-3b, PDF/A-3u

Einsatzbereiche - Validierung und Qualitätskontrolle von PDF- und PDF/A-Dokumenten
Posteingang
Im Posteingang prüft der Validator die Dokumente auf die Mindestanforderungen, beispielsweise betreffend Sicherheit, Conformance, Reproduzierbarkeit oder Standardisierung (PDF/A + PDF). Mangelhafte Dokumente werden dabei abgelehnt.
Archivierung
Im Archiv übernimmt die Komponente die Funktion eines Torwächters: Dokumente, die dem Standard nicht entsprechen, werden abgelehnt. Der Validator lässt sich auch zur Qualitätsprüfung bestehender Archivbestände einsetzen sowie zur Qualitätssicherung bei der Konvertierung von TIFF Archiven nach PDF/A. Die Massenverarbeitung kann mit einer Batchdatei oder einer individuell programmierten Lösung (z.B. in C#, Java oder Visual Basic) erreicht werden.
Postausgang
Im Postausgang lassen sich PDF Dokumente vor dem Versand auf ihre Qualität hin prüfen. Auch die Richtlinien des Empfängers können dabei berücksichtigt werden.
Qualitätsmanagement
Der Validator lässt sich im Qualitätsmanagement einsetzen. Man kann damit die Einhaltung von unternehmensweiten Richtlinien (CI) oder auch die Konformität im Allgemeinen, z.B. nach der Konvertierung aus einem anderen Format prüfen.
Softwarehersteller/OEM
Der Validator dient der Eingangs- und Ausgangsprüfung in Anwendungen wie z.B. Workflow Systeme, DMS Systeme und – “you sign what you see” – in einer Signaturanwendungssoftware.
// Create the validator
using (PdfValidator validator = new PdfValidator())
{
// Open input file
if (!validator.Open(inputPath, "", complianceLevel))
throw new Exception(String.Format("Input file {0} cannot be opened. " +
"{1} (ErrorCode: 0x{2:x}).", inputPath, validator.ErrorMessage, validator.ErrorCode));
// Validate document
// If true, the PDF is compliant to the specified compliance level.
// If false, the validation either aborted or the PDF is not compliant to
// the specified compliance level.
if (!validator.Validate())
{
if (validator.ErrorCode == PDFErrorCode.PDF_E_CONFORMANCE)
{
Console.WriteLine("Document {0} is not {1} compliant.", inputPath,
compliance);
// Print compliance violations
PdfError currError = validator.GetFirstError();
while (currError != null)
{
Console.WriteLine("Page: {0}, Object: {1}, {2}", currError.PageNo,
currError.ObjectNo, currError.Message);
currError = validator.GetNextError();
}
}
else
throw new Exception(String.Format("Validation of {0} was aborted. {1} " +
"(ErrorCode: 0x{2:x}).", inputPath, validator.ErrorMessage, validator.ErrorCode));
}
else
Console.WriteLine("Document {0} is {1} compliant.", inputPath, compliance);
// Close input file
validator.Close();
}
