Zum Fußzeileninhalt springen
PDF-WERKZEUGE

Wie man PDF in PDFA in C++ konvertiert

Das Portable Document Format (PDF) ist das bevorzugte Format zum Teilen von Dokumenten auf verschiedenen Plattformen. Mit der zunehmenden Bedeutung der digitalen Archivierung besteht jedoch ein wachsender Bedarf, Dokumente in einem standardisierten Format zu archivieren, das langfristige Bewahrung und Zugänglichkeit sicherstellt. Das PDF/A (PDFA) Format ist speziell für diesen Zweck entwickelt und bietet ein stabiles und eigenständiges Format, das sich zum Archivieren eignet.

Verstehen von PDF/A

PDF/A, eine ISO-standardisierte PDF-Variante, ist darauf ausgelegt, Dokumente über die Zeit hinweg zu bewahren, während die Zugänglichkeit und Integrität des Inhalts erhalten bleiben. Im Gegensatz zu einer normalen PDF-Datei weist eine PDF/A-Datei spezifische Einschränkungen auf, die ihre Robustheit und Eigenständigkeit gewährleisten.

Dieser Artikel führt Sie durch den Prozess der Konvertierung von PDF-Dokumenten in das PDF/A-Format mithilfe der QPDF-Bibliothek in C++. QPDF, eine leistungsstarke C++-Bibliothek, ermöglicht es Entwicklern, PDF-Dokumente programmatisch zu verwalten und zu konvertieren, einschließlich der PDF-zu-PDF/A-Konvertierung, mit nur wenigen Codezeilen.

QPDF C++ Bibliothek

QPDF ist eine C++-Bibliothek und ein Befehlszeilen-Tool, das entwickelt wurde, um das Arbeiten mit, Transformieren und Parsen von PDF-Dateien zu unterstützen. Sie ermöglicht es Entwicklern, programmgesteuert auf den Inhalt von PDF-Dateien zuzugreifen und diesen zu manipulieren, mit breiter Unterstützung. QPDF ist ein Open-Source-Projekt, das eine Reihe von Funktionen bietet, darunter Verschlüsselung, Entschlüsselung, Linearisierung, Optimierung und PDF/A-Konformität.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes eingerichtet haben:

  1. Code::Blocks IDE: Laden Sie Code::Blocks von der offiziellen Website herunter und installieren Sie es (Code::Blocks Official Site).
  2. QPDF-Bibliothek: Laden Sie die neueste Version der QPDF-Bibliothek für Ihr Betriebssystem von der QPDF-Website herunter (QPDF Official Site).

Erstellung eines PDF-zu-PDF/A-Projekts

  1. Code::Blocks öffnen: Starten Sie die Code::Blocks IDE auf Ihrem Computer.
  2. Neues Projekt erstellen: Klicken Sie oben im Menü auf Datei, dann auf Neu, gefolgt von Projekt.
  3. Projektart wählen: Wählen Sie im Fenster Neu aus Vorlage die Option Konsolenanwendung und klicken Sie auf Los. Wählen Sie die Sprache C/C++ und klicken Sie auf Weiter.
  4. Projektinformationen eingeben: Geben Sie im Feld Projekttitel einen Projektnamen ein (z.B. "PDFtoPDFA"). Wählen Sie den Speicherort für Projektdateien und klicken Sie auf Weiter.
  5. Compiler auswählen: Wählen Sie einen Compiler aus, und falls nötig, wählen Sie manuell einen aus der Liste aus. Klicken Sie auf Fertigstellen.

QPDF in das Projekt einbinden

Um die QPDF-Headerdateien in Code::Blocks einzubinden, befolgen Sie diese Schritte:

  1. Klicken Sie im Menü auf Projekt.
  2. Wählen Sie im Kontextmenü Kompilieroptionen.
  3. Gehen Sie im Kompilieroptionen-Dialog zum Reiter Suchverzeichnisse.
  4. Im Reiter Compiler klicken Sie auf die Schaltfläche Hinzufügen und navigieren Sie zum Verzeichnis mit den QPDF-Headerdateien (normalerweise im include-Ordner).
  5. Gehen Sie dann im Reiter Link auf die Schaltfläche Hinzufügen und binden Sie die Verzeichnisse lib und bin ein.
  6. Klicken Sie auf OK, um den Kompilieroptionen-Dialog zu schließen.

Zusätzlich müssen Sie während der Verbindungsphase eine Verbindung zur QPDF-Bibliothek herstellen. Folgen Sie diesen Schritten:

  1. Gehen Sie im Kompilieroptionen-Dialog zum Reiter Linker-Einstellungen.
  2. Klicken Sie unter Verknüpfungsbibliotheken auf Hinzufügen, dann navigieren Sie zum Verzeichnis mit den QPDF-Bibliotheksdateien (normalerweise mit einer .a- oder .lib-Dateierweiterung unter Windows).
  3. Klicken Sie erneut auf Hinzufügen und geben Sie den Namen der QPDF-Bibliothek ein (z.B. libqpdf.a oder qpdf.lib).
  4. Klicken Sie auf OK, um den Kompilieroptionen-Dialog zu schließen.

Schritte zur Konvertierung von PDF in PDF/A-Datei

Notwendige Header-Dateien einfügen

#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
#include <iostream>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFWriter.hh>

// The above code includes necessary header files for standard input/output operations and QPDF functionalities.
C++

Pfade für Eingabe- und Ausgabedateien festlegen

Legen Sie in der main-Funktion (Startpunkt des C++-Programms) die Pfade für Eingabe- und Ausgabedateien fest:

std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
std::string input_pdf_path = "input.pdf";
std::string output_pdf_a_path = "output.pdfa";

// These lines declare and initialize strings to store the paths of the input PDF and the output PDF/A file.
C++

QPDF-Objekt für PDF-Datei erstellen

QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
QPDF input_pdf;
input_pdf.processFile(input_pdf_path.c_str());

// Create a QPDF object for the input PDF and process the file to prepare it for conversion.
C++

Erstellen des QPDFWriter-Objekts zum Schreiben von PDF/A-Dateien

QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
QPDFWriter writer(input_pdf, output_pdf_a_path.c_str());

// This creates a QPDFWriter object to handle writing the converted PDF/A file.
C++

PDF/A-Konformität einstellen und PDF-Dokumente konvertieren

writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
writer.setQDFMode(true);
writer.write();

// Set the QPDFWriter to operate in PDF/A compliant mode and write the output file.
C++

Ausgabe

Die Ausgabedatei ist nicht bearbeitbar und PDF/A-konform:

Wie konvertiert man PDF zu PDF/A in C++: Abbildung 2

Konvertierung von PDF in PDF/A in C

IronPDF-Bibliothek ist eine .NET-PDF-Bibliothek, die umfassende Funktionalitäten für die Arbeit mit PDF-Dokumenten bietet. Es erlaubt Entwicklern, PDF-Dokumente mit C# oder VB.NET zu erstellen, zu ändern und zu konvertieren. Benutzer können IronPDF verwenden, um PDF-Dateien aus HTML, ASPX, Word-Dokumenten (.doc) oder Bildern dynamisch zu generieren und reichhaltige Elemente wie Diagramme, Tabellen und Bilddaten (wie JPG, PNG-Formate) zu integrieren. Es ermöglicht auch das Zusammenführen, Aufteilen und Bearbeiten von Seiten bestehender PDF-Dateien sowie Textextraktion und Inhaltsmanipulation von PDF-Daten.

IronPDF erleichtert die Konvertierung vom PDF zum PDF/A-3b-Format Standard mit nur wenigen Codezeilen. Der folgende Code hilft, diese Aufgabe zu erreichen:

using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
using IronPdf;

// Create a PdfDocument object or open any PDF file
PdfDocument pdf = PdfDocument.FromFile("wikipedia.pdf");

// Use the SaveAsPdfA method to save to file
pdf.SaveAsPdfA("pdf-a3-wikipedia.pdf", PdfAVersions.PdfA3);

// The above C# code demonstrates the use of IronPDF to convert a PDF document to a PDF/A-3b compliant file.
$vbLabelText   $csharpLabel

Abschluss

Dieser Artikel führt Sie durch die C++-Konvertierung eines Standard-PDF-Dokuments in das PDF/A-Format mithilfe der QPDF-Bibliotheken. PDF/A-Konformität sorgt für Inhaltserhaltung und Zugänglichkeit und ist somit ideal für die Archivierung.

IronPDF unterstützt auch verschiedene Formatkonvertierungen wie HTML, Bilder und Word-Dokumente zu PDF-Dateien. Für weitere Informationen besuchen Sie bitte diese IronPDF-Dokumentationsseite.

IronPDF bietet eine kostenlose Testversion von IronPDF, um die Funktionalität für die kommerzielle Produktion zu testen. IronPDF direkt herunterladen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen