1. Des produits
  2.   PDF
  3.   C++
  4.   PoDoFo
 
  

API C++ gratuite pour créer, manipuler & analyser des fichiers PDF.

Une bibliothèque open source de manipulation de PDF de premier plan permet aux développeurs C++ de créer, manipuler, chiffrer, gérer les polices et analyser des documents PDF sans effort dans les applications C++.

Qu'est-ce que la bibliothèque PoDoFo ?

Dans le monde du développement C++, la capacité de créer, modifier et extraire des données de fichiers PDF de manière programmatique est une exigence courante. La bibliothèque PoDoFo, une bibliothèque open‑source et portable C++17, apparaît comme une solution puissante et polyvalente pour tout ce qui concerne les PDF. PoDoFo est librement disponible et conçue pour travailler avec le format de fichier PDF. Elle permet aux développeurs de logiciels d’analyser les fichiers PDF, d’inspecter les entités PDF de haut niveau (comme les annotations et les champs de formulaire), de les modifier en mémoire et d’écrire les changements sur le disque depuis leurs propres applications. La bibliothèque facilite également la création de nouveaux PDF à partir de zéro sans aucune dépendance externe.

PoDoFo est une bibliothèque C++ robuste qui permet aux développeurs de logiciels de travailler avec le format de document portable (PDF) de manière programmatique. Sous licence LGPL v2.0 ou ultérieure pour la bibliothèque, et GPL v2.0 ou ultérieure pour ses outils associés, la bibliothèque PoDoFo garantit flexibilité et ouverture tant pour les projets commerciaux que open‑source. Elle fournit un ensemble riche d’outils pour analyser, manipuler et générer des documents PDF à partir de zéro. Que vous ayez besoin d’automatiser la génération de rapports, d’extraire du texte pour l’analyse de données, ou d’ajouter des signatures numériques pour la sécurité, PoDoFo offre une API complète et flexible pour répondre à vos besoins.

Previous Next

Premiers pas avec PoDoFo

La méthode recommandée pour installer PoDoFo est d'utiliser CMake. Veuillez utiliser la commande suivante pour une installation fluide.

Installer PPTXTemplater depuis GitHub

 vcpkg install fontconfig freetype libxml2 openssl libjpeg-turbo libpng tiff zlib
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --config Debug

Installer PPTXTemplater depuis GitHub

 git clone https://github.com/podofo/podofo.git

Vous pouvez également l'installer manuellement ; téléchargez les fichiers de la dernière version directement depuis le dépôt GitHub.

Création et modification de PDF

La bibliothèque open source PoDoFo a intégré une prise en charge complète de la création et de la manipulation de documents PDF dans une bibliothèque C++. Au cœur de son fonctionnement, PoDoFo excelle dans la création de nouveaux documents PDF et la modification de ceux existants. Les développeurs peuvent ajouter de nouvelles pages, dessiner du texte et insérer divers éléments graphiques, ouvrir des documents chiffrés en toute simplicité. L'exemple simple suivant montre comment les développeurs peuvent créer un document PDF simple dans des applications C++

Comment créer un PDF simple via la bibliothèque C++ ?

#include 

using namespace PoDoFo;

int main() {
    PdfStreamedDocument document("HelloWorld.pdf");
    PdfPainter painter;
    PdfPage* pPage;

    try {
        pPage = document.CreatePage(PdfPage::CreateStandardPageSize(ePdfPageSize_A4));
        painter.SetPage(pPage);
        PdfFont* pFont = document.CreateFont("Arial");
        pFont->SetFontSize(18.0);
        painter.SetFont(pFont);
        painter.DrawText(56.69, pPage->GetPageSize().GetHeight() - 56.69, "Hello World!");
        painter.FinishPage();
        document.Close();
    } catch (const PdfError & e) {
        e.PrintErrorMsg();
        return e.GetCode();
    }

    return 0;
}
 

Extraction de texte à partir de fichiers PDF via C++

La bibliothèque PoDoFo a intégré un mécanisme puissant permettant de charger et d'extraire le texte des documents PDF avec seulement quelques lignes de code C++. Cette fonctionnalité est inestimable pour les applications qui nécessitent l'indexation de contenu, l'exploration de données ou l'analyse de documents. Dans l'exemple de code suivant, les développeurs peuvent charger un PDF dans un PdfMemDocument, parcourir ses pages et utiliser la méthode ExtractTextTo pour récupérer le contenu texte.

Comment charger et extraire du texte à partir de fichiers PDF via l'API C++ ?

#include 
using namespace PoDoFo;

PdfMemDocument pdf("document.pdf");
int pageCount = pdf.GetPageCount();
for (int i = 0; i < pageCount; ++i) {
    PdfPage* page = pdf.GetPage(i);
    PdfContentsTokenizer tokenizer(page);

    const char* token = nullptr;
    PdfVariant var;
    EPdfContentsType type;

    while (tokenizer.ReadNext(type, token, var)) {
        if (type == ePdfContentsType_Keyword) {
            printf("Operator: %s\n", token);
        } else if (type == ePdfContentsType_Variant) {
            // Examine var as needed
        }
    }
}

 

Ajouter des signatures numériques aux PDF via l'API C++ ?

La sécurité est primordiale lorsqu'il s'agit de documents officiels. La bibliothèque PoDoFo prend en charge l'ajout de signatures numériques aux fichiers PDF, garantissant l'authenticité et l'intégrité de vos documents. Cela est particulièrement utile pour les contrats, les factures et d'autres documents juridiques. Bien qu'un exemple complet de signature numérique soit complexe et nécessite un certificat valide, le code conceptuel suivant illustre le processus.

Comment ajouter une signature numérique à un PDF via C++ ?

 // Conceptual Code - Not a complete working example
#include 

using namespace PoDoFo;

int main() {
    PdfMemDocument document("unsigned.pdf");
    PdfPage* pPage = document.GetPage(0);

    // Create a signature field
    PdfSignatureField sigField(pPage,
        PdfRect(100, pPage->GetPageSize().GetHeight() - 100, 200, 50),
        &document);

    // Set signature properties
    // ...

    // Sign the document using a custom signer implementation
    // MySigner signer("my_certificate.pfx", "password");
    // document.Sign(sigField, signer);

    document.Write("signed.pdf");

    return 0;
}
 

Gestion des polices et prise en charge Unicode

La bibliothèque PoDoFo gratuite offre un support robuste pour divers types de polices, y compris les polices TrueType et Type1. La bibliothèque gère également le sous-ensemble de polices, ce qui aide à réduire la taille des fichiers PDF générés. De plus, son excellent support Unicode garantit que vous pouvez travailler avec un large éventail de langues et de jeux de caractères. Un support complet pour la signature PDF (conformité PAdES-B), le chiffrement RSA/ECDSA, ainsi que les flux de travail de signature asynchrones ou différés.

 Français