Umgang mit PDF/A-Dateien aus dem FastReport VCL Designer und mit dem Delphi-Code

Umgang mit PDF/A-Dateien aus dem FastReport VCL Designer und mit dem Delphi-Code

Nun fahren wir fort mit der Vorstellung der Export-Möglichkeiten aus FastReport VCL. Mit jedem Update fügt das Entwicklungsteam viele neue und interessante Funktionen hinzu. Heute möchten wir Sie an das Exportformat erinnern, das 2017 hinzugefügt wurde. Es wird um PDF/A und seine Eigenschaften gehen.

Das allgemein bekannte PDF-Format (Portable Document Format) gibt es schon seit langem und ist zu Recht sehr beliebt, denn Sie können Dokumente erstellen und sie auf jeder Plattform öffnen, sei es Windows, Linux, iOS und andere. Dieser Vorteil erleichtert die Verwendung von PDF-Dateien als Dokumentenarchiv. Doch nicht alle Dokumente sind für die Archivierung geeignet. Ihr Dokument enthält zum Beispiel Links, verwendet bestimmte Schriftarten (die dem Dokument selbst nicht hinzugefügt werden) oder verwendet Multimediadaten. Ein solches Dokument kann nicht als eigenständig bezeichnet werden.

Der PDF/A Standard wurde speziell für die Langzeitarchivierung von Dokumenten entwickelt. Das Format wie das Standard-PDF wurde im Standard ISO 19005-1:2005 genormt. Worin liegt der Unterschied zwischen PDF und PDF/A??

Die Hauptanforderung an das PDF/A-Format ist, dass das Dokument nach einer bestimmten Anzahl von Jahren in der gleichen Form reproduziert werden kann. Diese Anforderung wird zunächst durch die Eigenständigkeit des Dokuments sichergestellt, das heißt, das Dokument muss alle erforderlichen Daten (Text, Bitmap- und Vektorbilder, Schriftarten, Farbdaten) in sich selbst enthalten und darf keine externen Links enthalten.

Aber der Reihe nach: betrachten wir, was in einem Dokument enthalten sein sollte und was nicht.

Es ist verboten:

Es ist vorgeschrieben:

Auf diese Weise erhalten wir ein ganzes eigenständiges Dokument, das nicht von externen Daten abhängig ist. Sie können ein solches Dokument jederzeit mit einem Standard-Viewer öffnen. Die garantierte Reproduktion des Dokuments wird auch durch den internationalen Standard gewährleistet.

Ein PDF/A-Dokument ist etwas größer als ein normales PDF-Dokument, was auf das Vorhandensein aller darin enthaltenen Daten zurückzuführen ist.

Sobald die Vorlage erstellt ist, wechseln Sie in den Vorschaumodus des fertigen Berichts. In der oberen linken Ecke finden Sie PDF-Export.

PDF-Export

 

Betrachten wir nun die PDF/A-Standards, die in FastReport VCL verfügbar sind:

PDF-Export

 

PDF/A-1a und PDF/A-1b (ISO 19005-1)

Die Konformität der Stufe 1B erfordert nur die Einhaltung der Standrads, die notwendig sind, um zuverlässig das visuelle Erscheinungsbild eines Dokuments zu reproduzieren, während die Stufe 1A zusätzlich zu den Funktionen, die für die Verbesserung der Dokumentenverfügbarkeit bestimmt ist, alle Anforderungen der Stufe 1B enthält.

Zusätzliche Anforderungen an die 1A-Stufe:

Die Konformität der Stufe A sollte die Zugänglichkeit konformer Dateien für Benutzer mit körperlichen Behinderungen verbessern, indem Hilfssoftware wie Bildschirmlesegeräte ermöglicht wird, den Inhalt einer Datei zu extrahieren und genauer zu interpretieren.

 

PDF/A-2 (ISO 19005-2)

Der PDF/A-2 Standard wurde um einige Funktionen erweitert, die bereits in PDF 1.5, 1.6 und 1.7 enthalten waren. Der PDF/A-2 ist abwärtskompatibel zu PDF/A -1, d.h. alle PDF/A-1-Dokumente müssen mit PDF/A-2 kompatibel sein. Aber PDF/A-2-Dateien müssen nicht unbedingt mit PDF/A-1 kompatibel sein.

Der PDF / A-2 Standard basiert auf PDF 1.7 (wie in ISO 32000-1 festgelegt ist), die eine Reihe von Verbesserungen für den Dokumentenverkehr unterstützt, z. B. JPEG2000-Komprimierung, Transparenz- und Ebeneneffekte, Einbettung von OpenType-Schriften und Bestimmungen für digitale Signaturen nach fortgeschrittenen elektronischen Signaturen in PDF (PDF Advanced Electronic Signatures - PAdES-Standard.

PDF / A-2 ermöglicht auch die Archivierung von Dokumentensätzen als separate Dokumente in einer Datei.

PDF/A-2 verfügt über folgenden Konformitätsstufen:
- PDF / A-2a erfüllt alle ISO 19005-2 Anforderungen;
- PDF / A-2b ist eine niedrigere Konformitätsstufe, die die Anforderungen der Norm an das Erscheinungsbild des Dokuments und nicht seine strukturellen und semantischen Eigenschaften abdeckt.

 

PDF/A-3 standard (ISO 19005-3)

PDF/A-3 unterscheidet sich von PDF/A-2 in einem wichtigen Punkt. Es unterstützt eingebettete Dateien. Dabei kann es sich nicht nur um andere PDF/A-Dateien (die in PDF/A-2 unterstützt werden), sondern auch um jede andere Datei handeln. Dies ist wichtig für die Archivierung.

Wie PDF/A-2 definiert auch PDF/A-3 Konformitätsstufen:

In PDF/A-3-Dateien sollten alle eingebetteten Dateien als "nicht archiviert" behandelt werden. Mit anderen Worten: Eine eingebettete Datei gilt als temporär und sollte nicht als Datei für die langfristige Aufbewahrung behandelt werden. Nur der Hauptinhalt eines PDF-Dokuments ist für die langfristige Aufbewahrung bestimmt.

Nehmen wir also den PDF/A-Export als Beispiel. Das Fenster Exporteinstellungen wird angezeigt. Klicken Sie auf die Registerkarte Optionen. Hier können Sie den PDF/A-Standard auswählen. Beachten Sie, dass in der Dropdown-Liste 4 Standards verfügbar sind: PDF/A-2a, PDF/A-2b, PDF/A-3a und PDF/A-3b. Hier fehlt der PDF/A-1, da er als veraltet gilt.

PDF-Export

 

Beachten Sie, dass die eingebetteten Schriften nicht mehr zur Bearbeitung zur Verfügung stehen, wenn die Option PDF/A ausgewählt wird. Die Schriftarten sind jetzt standardmäßig eingebettet. Dies entspricht den Anforderungen des Standards.

Gehen wir alle Exporteigenschaften durch.

Page range – Auswahl von Seiten eines Dokuments, die in das PDF-Format exportiert werden sollen.

PDF Standard – Auswahl der PDF-Spezifikation (normal bzw. PDF/A).

PDF Version – wird jetzt nicht verfügbar sein, da es sich um ein PDF/A handelt, aber mit der normalen Spezifikation werden die PDF-Exportversionen 1.4 bis 1.7 hier verfügbar sein.

Compressed – Eigenschaft, die bestimmt, ob die Berichtsdaten komprimiert werden sollen.

Embedded fonts – diese Eigenschaft wird in PDF/A deaktiviert, da der Standard die Verwendung von Schriftarten nicht unterstützt.

Background – ermöglicht es dem Benutzer, einen Hintergrund mit keinem Wasserzeichen für seinen Bericht zu erstellen.

Print optimized - Die PDF-Datei kann für den Druck optimiert werden, wobei die Bildqualität besser, das Format aber auch größer ist.

Outline – Eigenschaft zum Aktivieren oder Deaktivieren des Kontur-Renderings.

Transparency – Eigenschaft ist für die Anzeige der Transparenz von Objekten zuständig.

PDF-Export

 

Dies ist der Abschnitt mit den Service-Informationen, die der PDF-Datei hinzugefügt werden: Name, Verfasser, Thema, Schlüsselwörter (Sie können die PDF-Datei ins Internet stellen, sie werden perfekt indexiert), PDF-Erstellungsmedium, Dokumenthersteller.

PDF-Export

 

Sicherheit bzw. Schützen eines Dokuments mit einem Kennwort vor dem Öffnen (Verwendung von RC4). Es geht um die Möglichkeit, das Verbot auf das Drucken, Ändern eines Dokuments, Kopieren von Text oder Grafiken, Hinzufügen oder Ändern von Textnotizen vorzugeben.

PDF-Export

 

Einstellung des PDF-Viewers beim Öffnen eines Dokuments: Symbolleiste ausblenden, Menü ausblenden, Benutzeroberflächenfenster ausblenden, Ansichtsfenster maximieren, Fenster zentrieren, auf Druckgröße strecken. Normalerweise werden beim Exportieren Standardeinstellungen verwendet.

PDF-Export

 

Dieser Abschnitt enthält Informationen über digitale Signaturen. Um Wiederholungen zu vermeiden, finden Sie hier einen Link zu einem Artikel über diese Funktion und wie sie konfiguriert wird. Link zum Artikel. 


Wie man ein PDF/A aus Delphi- oder Lazarus-Code erstellt 

procedure TForm1.Button1Click(Sender: TObject);
begin
 {Erstellen Sie einen Bericht. Bevor der Bericht exportiert wird, muss er unbedingt erstellt werden}
 frxReport1.PrepareReport();
 {Legen Sie den Bereich der zu exportierenden Seiten fest. Standardmäßig werden alle Seiten des generierten Berichts exportiert}
 frxPDFExport1.PageNumbers := '2-3';
 {Festlegung des PDF-Standards TPDFStandard = (psNone, psPDFA_1a, psPDFA_1b, psPDFA_2a, psPDFA_2b, psPDFA_3a, psPDFA_3b);  Es ist erforderlich, das frxExportPDFHelpers Modul zur uses-Liste: uses frxExportPDFHelpers; hinzuzufügen}
 frxPDFExport1.PDFStandard := psNone;
 {Für PDFStandard = psNone kann TPDFVersion = (pv14, pv15, pv16, pv17) eingestellt werden;  Es ist erforderlich, das frxExportPDFHelpers Modul zur uses-Liste: uses frxExportPDFHelpers; hinzuzufügen }
 frxPDFExport1.PDFVersion := pv17;
 {Für kleinere Dateigrößen kann die Komprimierung eingestellt werden}
 frxPDFExport1.Compressed := True;
 {Legen Sie fest, ob Schriftarten in das resultierende Dokument eingebettet werden sollen.  Das Einbetten von Schriftarten erhöht die Größe des resultierenden Dokuments erheblich}
 frxPDFExport1.EmbeddedFonts := False;
 {Legen Sie fest, ob das Hintergrundbild der Seite exportiert werden soll oder nicht}
 frxPDFExport1.Background := True;
 {Deaktivieren Sie den Export von druckoptimierten Objekten. Wenn diese Option aktiviert ist,} 
 {sind die Bilder von hoher Qualität, aber 9-mal größer}
 frxPDFExport1.PrintOptimized := False;
 {Legen Sie fest, ob die resultierende PDF-Datei ein externes Inhaltsverzeichnis enthalten soll, wie im Originalbericht}
 frxPDFExport1.Outline := False;
 {Ob Bilder mit Transparenz exportiert werden sollen}
 frxPDFExport1.Transparency := True;
 {Man kann die gewünschte DPI-Auflösung für Bilder einstellen. Wenn diese Option aktiviert ist,}
 {wird die SaveOriginalImages-Option deaktiviert, mit der die Bilder in ihrer ursprünglichen Form gespeichert werden können}
 frxPDFExport1.PictureDPI := 150;
 {Stellen Sie die Komprimierungsstufe von Bitmap-Bildern ein}
 frxPDFExport1.Quality := 95;
 {Legen Sie fest, ob die resultierende Datei nach dem Export geöffnet werden soll}
 frxPDFExport1.OpenAfterExport := False;
 {Legen Sie fest, ob der Exportfortschritt angezeigt werden soll  (zeigt an, welche Seite gerade exportiert wird)}
 frxPDFExport1.ShowProgress := False;
 {Legen Sie fest, ob der Dialog für die Exportfiltereinstellungen angezeigt werden soll}
 frxPDFExport1.ShowDialog := False;
 {Legen Sie den Namen der resultierenden Datei fest. Beachten Sie, dass, wenn Sie keinen Dateinamen festlegen}
 {und die Anzeige des Exportfilterdialogs deaktivieren, der Auswahldialog für den Dateinamen weiterhin angezeigt wird}
 frxPDFExport1.FileName := 'C:\Output\test.pdf';
 {Füllen Sie die zutreffenden Felder der Registerkarte Information aus}
 frxPDFExport1.Title := 'Your Title';
 frxPDFExport1.Author := 'Your Name';
 frxPDFExport1.Subject := 'Your Subject';
 frxPDFExport1.Keywords := 'Your Keywords';
 frxPDFExport1.Creator := 'Creator Name';
 frxPDFExport1.Producer := 'Producer Name';
 {Füllen Sie die zutreffenden Felder der Registerkarte Security aus}
 frxPDFExport1.UserPassword := 'User Password';
 frxPDFExport1.OwnerPassword := 'Owner Password';
 frxPDFExport1.ProtectionFlags := [ePrint, eModify, eCopy, eAnnot];
 {Legen Sie die Viewer-Einstellungen fest (Registerkarte Viewer)}
 frxPDFExport1.HideToolbar := False;
 frxPDFExport1.HideMenubar := False;
 frxPDFExport1.HideWindowUI := False;
 frxPDFExport1.FitWindow := False;
 frxPDFExport1.CenterWindow := False;
 frxPDFExport1.PrintScaling := False;
 {Exportieren Sie den Bericht}
 frxReport1.Export(frxPDFExport1);
end;

Zusammenfassung. PDF ist ein offener Standard, der allen Softwareentwicklern zur Verfügung steht. Er wurde speziell dafür entwickelt, um sicherzustellen, dass alle Daten unabhängig von der verwendeten Software, dem Betriebssystem, den installierten Schriftarten usw. genau gleich aussehen. FastReport VCL löst diese Aufgabe seit vielen Jahren sehr gut und wird sich auch in Zukunft weiterentwickeln, um den Anforderungen der Benutzer gerecht zu werden.

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot