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 travailler avec, transformer et analyser des fichiers PDF. Elle permet aux développeurs d'accéder et de manipuler de manière programmée 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 mis en place 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 depuis le site QPDF (Site officiel QPDF).

Créer un projet de PDF à 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 Pour inclure les fichiers d'en-tête de QPDF dans Code::Blocks, suivez ces étapes :

  5. Cliquez sur Projet dans le menu.

  6. Sélectionnez Options de construction dans le menu contextuel.

  7. Dans la boîte de dialogue Options de construction, allez à l'onglet Répertoires de recherche.
  8. Dans l'onglet Compilateur, cliquez sur le bouton Ajouter et parcourez le répertoire contenant les fichiers d'en-tête de QPDF (généralement situé dans le dossier include).
  9. Ensuite, dans l'onglet Lien, cliquez sur le bouton Ajouter et incluez les répertoires lib et bin.
  10. 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 lors de la phase de liaison.
  11. Dans la boîte de dialogue Options de construction, allez à l'onglet Paramètres du linker.

  12. Sous Bibliothèques de liaison, cliquez sur Ajouter, puis parcourez le répertoire contenant les fichiers de la bibliothèque QPDF (généralement avec une extension de fichier .a ou .lib sous Windows). Suivez ces étapes :

  13. Cliquez à nouveau sur Ajouter, et entrez le nom de la bibliothèque QPDF (par exemple, libqpdf.a ou qpdf.lib).
  14. Cliquez sur OK pour fermer la boîte de dialogue Options de construction.

Étapes pour convertir un fichier PDF en PDF/A

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

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 :

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

Créer un objet QPDF pour le fichier PDF

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

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

Définir la conformité PDF/A et convertir les documents 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++

Le fichier de sortie est non éditable et conforme au 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++

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

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

Convertir un PDF en PDF/A en C#

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 (formats JPG, PNG). Elle permet également de fusionner, de diviser et d'éditer les pages des fichiers PDF existants, ainsi que l'extraction de texte et la manipulation du contenu des données PDF. IronPDF facilite la conversion de PDF au format PDF/A-3b avec seulement quelques lignes de code. Le code suivant aide à accomplir cette tâche :

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

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.
Imports IronPdf

' Create a PdfDocument object or open any PDF file
Private pdf As PdfDocument = 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

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

IronPDF fournit une version d'essai gratuite d'IronPDF pour tester les fonctionnalités pour une production commerciale. Téléchargez IronPDF directement depuis la page d'accueil.

IronPDF provides a free trial of IronPDF to test the functionality for commercial production. Download IronPDF directly from the home page.

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