Passer au contenu du pied de page
OUTILS PDF

Comment convertir un PDF en PDFA en C++

Le format Portable Document Format (PDF) est devenu le format de référence pour le partage de documents sur diverses plateformes. Cependant, avec l'importance croissante de l'archivage numérique, il y a un besoin croissant d'archiver des documents dans un format standardisé qui garantit la préservation à long terme et l'accessibilité. Le format PDF/A (PDFA) est spécifiquement conçu à cet effet, offrant un format stable et autonome, adapté à l'archivage.

Comprendre le PDF/A

Le PDF/A, une variante PDF standardisée par l'ISO, est conçu pour préserver les documents au fil du temps, assurant l'accessibilité et l'intégrité du contenu. Contrairement à un fichier PDF ordinaire, un fichier PDF/A est soumis à des restrictions spécifiques qui garantissent sa robustesse et son autonomie.

Cet article vous guide à travers le processus de conversion de documents PDF en format PDF/A en utilisant la bibliothèque QPDF en C++. QPDF, une puissante bibliothèque C++, permet aux développeurs de gérer et de convertir des documents PDF de manière programmatique, y compris la conversion PDF en PDF/A, en seulement quelques lignes de code.

Bibliothèque C++ QPDF

QPDF est une bibliothèque C++ et un outil en ligne de commande conçu pour prendre en charge le travail, la transformation et l'analyse des fichiers PDF. Il permet aux développeurs d'accéder et de manipuler programmatiquement le contenu des fichiers PDF, avec un large support. QPDF est un projet open-source qui offre une gamme de fonctionnalités, y compris le chiffrement, le déchiffrement, la linéarisation, l'optimisation et la conformité PDF/A.

Prérequis

Avant de commencer, assurez-vous d'avoir configuré ce qui suit :

  1. IDE Code::Blocks : Téléchargez et installez Code::Blocks depuis le site officiel (Site officiel Code::Blocks).
  2. Bibliothèque QPDF : Téléchargez la dernière version de la bibliothèque QPDF pour votre système d'exploitation à partir du site web QPDF (Site officiel de QPDF).

Créer un projet PDF vers PDF/A

  1. Ouvrir Code::Blocks : Lancez l'IDE Code::Blocks sur votre ordinateur.
  2. Créer un nouveau projet : Cliquez sur Fichier dans le menu du haut, puis sélectionnez Nouveau, suivi de Projet.
  3. Choisir le type de projet : Dans la fenêtre Nouveau à partir d'un modèle, choisissez Application console et cliquez sur Go. Sélectionnez le langage C/C++ et cliquez sur Suivant. 4. Entrer les détails du projet : Fournissez un nom de projet dans le champ Titre du projet (par exemple, "PDFtoPDFA"). Choisissez où enregistrer les fichiers du projet et cliquez sur Suivant.
  4. Sélectionner le compilateur : Choisissez un compilateur, et si nécessaire, sélectionnez-en un manuellement dans la liste. Cliquez sur Terminer. ## Ajouter QPDF au projet
  5. Sélectionner un compilateur : Choisissez un compilateur, et si nécessaire, sélectionnez-en manuellement un dans la liste. Cliquez sur Terminer.

  6. Cliquez sur Projet dans le menu.

Pour inclure les fichiers d'en-tête QPDF dans Code::Blocks, suivez ces étapes :

  1. Dans la boîte de dialogue Options de construction, allez à l'onglet Répertoires de recherche.
  2. Sélectionnez Options de construction dans le menu contextuel.
  3. Dans la boîte de dialogue Options de construction, allez à l'onglet Répertoires de recherche.
  4. Dans l'onglet Compilateur, cliquez sur le bouton Ajouter et naviguez jusqu'au répertoire contenant les fichiers d'en-tête QPDF (généralement situé dans le dossier include).
  5. Ensuite, dans l'onglet Lier, cliquez sur le bouton Ajouter et incluez les répertoires lib et bin.
  6. Cliquez sur OK pour fermer la boîte de dialogue Options de construction.

De plus, vous devez établir une connexion avec la bibliothèque QPDF pendant la phase de liaison. Suivez ces étapes :

  1. Dans la boîte de dialogue Options de construction, allez à l'onglet Paramètres du compilateur.
  2. Sous Lier les bibliothèques, cliquez sur Ajouter, puis parcourez le répertoire contenant les fichiers de bibliothèque QPDF (généralement avec une extension de fichier .a ou .lib sur Windows).
  3. Cliquez sur Ajouter à nouveau, et entrez le nom de la bibliothèque QPDF (par exemple, libqpdf.a ou qpdf.lib).
  4. Cliquez sur OK pour fermer la boîte de dialogue Options de construction.

Étapes pour convertir un PDF en fichier PDF/A

Inclure les fichiers d'en-tête nécessaires

#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++

Définir les chemins pour les fichiers d'entrée et de sortie

Dans la fonction main (point de départ du programme C++), définissez les chemins pour les fichiers d'entrée et de sortie :

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++

Créer un objet QPDF pour le fichier PDF

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++

Créer un objet QPDFWriter pour écrire le fichier PDF/A

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++

Définir la conformité PDF/A et convertir les documents PDF

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++

Sortie

Le fichier de sortie est non modifiable et conforme au PDF/A :

Comment convertir le PDF en PDF/A en C++ : Figure 2

Convertir le PDF en PDF/A en C#

La bibliothèque IronPDF est une bibliothèque PDF .NET qui fournit des fonctionnalités complètes pour travailler avec des documents PDF. Elle permet aux développeurs de créer, modifier et convertir des documents PDF en utilisant C# ou VB.NET. Les utilisateurs peuvent utiliser IronPDF pour générer des fichiers PDF à partir de HTML, ASPX, documents Word (.doc) ou images de manière dynamique et incorporer des éléments riches comme des graphiques, des tableaux et des données d'image (comme les formats JPG, PNG). Elle permet également de fusionner, diviser et modifier les pages de fichiers PDF existants, ainsi que d'extraire du texte et de manipuler le contenu des données PDF.

IronPDF facilite la conversion du standard PDF au format PDF/A-3b avec juste quelques lignes de code. Le code suivant aide à réaliser cette tâche :

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

Conclusion

Cet article vous guide à travers la conversion C++ d'un document PDF standard au format PDF/A en utilisant les bibliothèques QPDF. La conformité au PDF/A garantit la préservation du contenu et l'accessibilité, ce qui en fait un choix idéal pour l'archivage.

IronPDF prend également en charge diverses conversions de formats tels que HTML, images et documents Word en fichiers PDF. Pour plus d'informations, veuillez visiter cette page de documentation IronPDF.

IronPDF fournit une évaluation gratuite d'IronPDF pour tester les fonctionnalités en vue d'une production commerciale. Télécharger IronPDF directement.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite