1. Produkte
  2.   Pdf
  3.   C++
  4.   PoDoFo
 
  

Kostenlose C++‑API zum Erstellen, Manipulieren & Analysieren von PDF-Dateien.

Eine führende Open-Source‑PDF‑Manipulationsbibliothek ermöglicht C++‑Entwicklern das mühelose Erstellen, Manipulieren, Verschlüsseln, Verwalten von Schriftarten und Analysieren von PDF-Dokumenten in C++‑Anwendungen.

Was ist die PoDoFo-Bibliothek?

Im Bereich der C++-Entwicklung ist die Möglichkeit, PDF-Dateien programmgesteuert zu erstellen, zu ändern und Daten daraus zu extrahieren, eine gängige Anforderung. Die PoDoFo-Bibliothek, eine Open-Source- und portable C++17-Bibliothek, stellt eine leistungsstarke und vielseitige Lösung für alle PDF‑Belange dar. PoDoFo ist frei verfügbar und wurde für die Arbeit mit dem PDF-Dateiformat entwickelt. Sie ermöglicht es Softwareentwicklern, PDF-Dateien zu parsen, hochrangige PDF‑Entitäten (wie Anmerkungen und Formularfelder) zu inspizieren, sie im Speicher zu ändern und Änderungen wieder auf die Festplatte zu schreiben, und das innerhalb ihrer eigenen Anwendungen. Die Bibliothek erleichtert zudem das Erstellen neuer PDFs von Grund auf, ohne externe Abhängigkeiten.

PoDoFo ist eine robuste C++-Bibliothek, die Softwareentwicklern ermöglicht, programmgesteuert mit dem Portable Document Format (PDF) zu arbeiten. Die Bibliothek ist unter LGPL v2.0 oder später lizenziert, die zugehörigen Werkzeuge unter GPL v2.0 oder später, wodurch PoDoFo Flexibilität und Offenheit für sowohl kommerzielle als auch Open-Source-Projekte gewährleistet. Sie bietet ein umfangreiches Set an Werkzeugen zum Parsen, Manipulieren und Erzeugen von PDF-Dokumenten von Grund auf. Egal, ob Sie die Berichtserstellung automatisieren, Text für Datenanalysen extrahieren oder digitale Signaturen zur Sicherheit hinzufügen müssen, PoDoFo stellt eine umfassende und flexible API bereit, die Ihren Anforderungen entspricht.

Previous Next

Erste Schritte mit PoDoFo

Die empfohlene Methode, PoDoFo zu installieren, ist die Verwendung von CMake. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.

PPTXTemplater von GitHub installieren

 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

PPTXTemplater von GitHub installieren

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

Sie können es auch manuell installieren; laden Sie die neuesten Release-Dateien direkt aus dem GitHub-Repository herunter.

PDF-Erstellung und -Modifikation

Die Open-Source-Bibliothek PoDoFo bietet vollständige Unterstützung für die Erstellung und Manipulation von PDF-Dokumenten in einer C++-Bibliothek. Im Kern zeichnet sich PoDoFo durch das Erstellen neuer PDF-Dokumente und das Ändern bestehender Dokumente aus. Softwareentwickler können neue Seiten hinzufügen, Text zeichnen und verschiedene grafische Elemente einfügen sowie verschlüsselte Dokumente mühelos öffnen. Das folgende einfache Beispiel zeigt, wie Softwareentwickler ein einfaches PDF-Dokument in C++-Anwendungen erstellen können

Wie erstellt man ein einfaches PDF mit der C++-Bibliothek?

#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;
}
 

Textextraktion aus PDF-Dateien mit C++

Die PoDoFo-Bibliothek enthält einen leistungsstarken Mechanismus, um mit nur wenigen Zeilen C++-Code Text aus PDF-Dokumenten zu laden und zu extrahieren. Diese Funktion ist für Anwendungen, die Inhaltsindizierung, Data Mining oder Dokumentenanalyse benötigen, von unschätzbarem Wert. Im folgenden Codebeispiel können Entwickler ein PDF in ein PdfMemDocument laden, durch seine Seiten iterieren und die Methode ExtractTextTo verwenden, um den Textinhalt abzurufen.

Wie man PDF-Dateien über die C++-API lädt und Text extrahiert?

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

 

Digitale Signaturen zu PDF über die C++-API hinzufügen?

Sicherheit hat oberste Priorität beim Umgang mit offiziellen Dokumenten. Die PoDoFo-Bibliothek unterstützt das Hinzufügen digitaler Signaturen zu PDF-Dateien und gewährleistet die Authentizität und Integrität Ihrer Dokumente. Dies ist besonders nützlich für Verträge, Rechnungen und andere rechtliche Dokumente. Während ein vollständiges Beispiel für digitale Signaturen komplex ist und ein gültiges Zertifikat erfordert, veranschaulicht der folgende konzeptionelle Code den Prozess.

Wie man einer PDF über C++ eine digitale Signatur hinzufügt?

 // 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;
}
 

Schriftartenverwaltung und Unicode-Unterstützung

Die kostenlose PoDoFo-Bibliothek bietet robuste Unterstützung für verschiedene Schriftarten, einschließlich TrueType- und Type1-Schriften. Die Bibliothek verarbeitet außerdem Font-Subsetting, was hilft, die Dateigröße der erzeugten PDFs zu reduzieren. Darüber hinaus sorgt ihre hervorragende Unicode-Unterstützung dafür, dass Sie mit einer breiten Palette von Sprachen und Zeichensätzen arbeiten können. Vollständige Unterstützung für PDF-Signaturen (PAdES-B-Konformität), RSA/ECDSA-Verschlüsselung sowie asynchrone oder verzögerte Signatur-Workflows.

 Deutsch