OUTILS PDF

Comment convertir un fichier PDF en PDFA en C++ ?

Publié novembre 14, 2023
Partager:

Le format de document portable (PDF (EN ANGLAIS)) est le format de prédilection pour le partage de documents sur différentes plateformes. Cependant, avec l'importance croissante de l'archivage numérique, il est de plus en plus nécessaire d'archiver les documents dans un format normalisé qui assure leur conservation et leur accessibilité à long terme. Le PDF/A (PDFA) est spécialement conçu à cet effet, offrant un format stable et autonome qui convient à l'archivage.

Comprendre le PDF/A

Le PDF/A, une variante du PDF normalisée par l'ISO, est conçu pour préserver les documents dans le temps, tout en maintenant l'accessibilité et l'intégrité du contenu. Contrairement à un fichier PDF ordinaire, le fichier PDF/A est assorti de restrictions spécifiques qui garantissent sa robustesse et son autosuffisance.

Cet article vous guide dans le processus de conversion de documents PDF au format PDF/A à l'aide de la bibliothèque QPDF en C#. QPDF, une puissante bibliothèque C++, permet aux développeurs de gérer et de convertir par programme des documents PDF, y compris la conversion de PDF en PDF/A, en quelques lignes de code seulement.

Bibliothèque C# QPDF

QPDF est une bibliothèque C# et un outil de ligne de commande conçu pour travailler, transformer et analyser les fichiers PDF. Il permet aux développeurs d'accéder et de manipuler par programme le contenu des fichiers PDF, avec la prise en charge de Word. QPDF est un projet open-source qui offre une série de fonctionnalités, notamment le cryptage, le décryptage, la linéarisation, l'optimisation et la conformité au format PDF/A.

Conditions préalables

Avant de commencer, assurez-vous que les éléments suivants sont en place :

  1. Téléchargez et installez Code::Blocks** depuis le site officiel (http://www.codeblocks.org/).
  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 de QPDF (https://qpdf.sourceforge.io/).

Création d'un projet de conversion de PDF en PDF/A

  1. Ouvrez Code::Blocks: Lancez l'IDE Code::Blocks sur votre ordinateur.
  2. Créer un nouveau projet: Cliquez sur Fichier dans le menu supérieur, puis sélectionnez Nouveau, suivi de Projet.
  3. Dans la fenêtre Nouveau à partir d'un modèle, choisissez Application console et cliquez sur Aller. Sélectionnez le langage C/C++ et cliquez sur Suivant**.
  4. Saisir les détails du projet: Indiquer le nom du projet dans le champ Titre du projet (par exemple, "PDFtoPDFA"). Choisissez où enregistrer les fichiers du projet et cliquez sur Suivant.
  5. Select Compiler: Choisissez un compilateur, et si nécessaire, sélectionnez-en un manuellement dans la liste. Cliquez sur Finish.

Ajouter QPDF au projet

Pour inclure les fichiers d'en-tête QPDF dans Code::Blocks, procédez comme suit :

  1. Cliquez sur Projet dans le menu.
  2. Sélectionnez Options de construction dans le menu contextuel.
  3. Dans la boîte de dialogue Options de construction, allez dans l'onglet Recherche de répertoires.
  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 Link, cliquez sur le bouton Add et incluez les répertoires lib et bin.
  6. Cliquez sur OK pour fermer la boîte de dialogue Options de construction.

    En outre, vous devez établir une connexion avec la bibliothèque QPDF pendant la phase de liaison. Procédez comme suit :

  7. Dans la boîte de dialogue Options de construction, allez dans l'onglet Paramètres du lien.
  8. Sous Liens de bibliothèques, cliquez sur Ajouter, puis naviguez jusqu'au répertoire contenant les fichiers de bibliothèques QPDF (généralement avec une extension de fichier .a ou .lib sous Windows).
  9. Cliquez à nouveau sur Ajouter et saisissez le nom de la bibliothèque QPDF (par exemple, libqpdf.a ou qpdf.lib).
  10. Cliquez sur OK pour fermer la boîte de dialogue Options de construction.

Étapes de conversion d'un fichier PDF en fichier PDF/A

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

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

Ce code intègre des fichiers d'en-tête essentiels pour travailler avec les entrées/sorties standard de C# (iostream) et la bibliothèque QPDF.

Définir les chemins d'accès aux fichiers d'entrée et de sortie

Dans la fonction principale (point de départ du programme C#), définir les chemins d'accès aux fichiers d'entrée et de sortie :

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

Ces deux lignes déclarent et initialisent deux variables de type std::string. Ces lignes déclarent et initialisent des variables pour l'entrée ("input.pdf") et produire des fichiers PDF/A ("output.pdfa") chemins.

Fichier d'entrée

Le fichier d'entrée est un formulaire modifiable :

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

Créer un objet QPDF pour un fichier PDF

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

Un objet QPDF nommé input_pdf est créé. la fonction processFile est utilisée sur l'objet input_pdf, en passant le chemin du fichier d'entrée comme argument.

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

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

Un objet QPDFWriter, writer, est créé pour écrire le fichier PDF/A de sortie.

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

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

Ce code définit la conformité PDF/A en utilisant setQDFMode(vrai) sur l'objet writer. La fonction write()la fonction effectue la conversion d'un document PDF et enregistre le résultat dans un fichier PDF/A.

Sortie

Le fichier de sortie est non modifiable et conforme à la norme PDF/A :

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

Conversion de PDF en PDF/A en C&num ;

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

IronPDF permet de convertir PDF vers le PDF/A-3b en quelques lignes de code. Le code suivant permet de 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);
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);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Conclusion

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

IronPDF prend également en charge la conversion de divers formats tels que HTML, images et documents Word en fichiers PDF. Pour plus d'informations, veuillez consulter le site suivant site.

IronPDF fournit un service de essai gratuit pour tester la fonctionnalité de la production commerciale. Vous pouvez télécharger le logiciel à partir de ici.

< PRÉCÉDENT
Comment afficher des fichiers PDF sur un téléphone Android
SUIVANT >
Comment ajouter des numéros de page à un fichier PDF