1. Produse
  2.   PDF
  3.   C++
  4.   PoDoFo
 
  

API gratuit C++ pentru a crea, manipula și analiza fișiere PDF.

O bibliotecă de manipulare PDF open source de top permite dezvoltatorilor C++ să creeze, să manipuleze, să cripteze, să gestioneze fonturi și să analizeze documente PDF fără efort în aplicațiile C++.

Ce este biblioteca PoDoFo?

În lumea dezvoltării C++, capacitatea de a crea, modifica și extrage programatic date din fișiere PDF este o cerință comună. Biblioteca PoDoFo, o bibliotecă open-source și portabilă C++17, apare ca o soluție puternică și versatilă pentru tot ce ține de PDF. PoDoFo este disponibilă gratuit și este concepută pentru a lucra cu formatul de fișier PDF. Aceasta permite dezvoltatorilor de software să parseze fișiere PDF, să inspecteze entități PDF de nivel înalt (cum ar fi adnotările și câmpurile de formular), să le modifice în memorie și să scrie modificările înapoi pe disc în cadrul propriilor aplicații. Biblioteca facilitează, de asemenea, crearea de noi PDF-uri de la zero fără nicio dependență externă.

PoDoFo este o bibliotecă robustă C++ care permite dezvoltatorilor de software să lucreze programatic cu Portable Document Format (PDF). Licențiată sub LGPL v2.0 sau o versiune ulterioară pentru bibliotecă și GPL v2.0 sau o versiune ulterioară pentru instrumentele sale auxiliare, biblioteca PoDoFo asigură flexibilitate și deschidere atât pentru proiecte comerciale, cât și pentru cele open-source. Oferă un set bogat de instrumente pentru a analiza, manipula și genera documente PDF de la zero. Indiferent dacă trebuie să automatizați generarea de rapoarte, să extrageți text pentru analiza datelor sau să adăugați semnături digitale pentru securitate, PoDoFo oferă un API cuprinzător și flexibil pentru a satisface nevoile dumneavoastră.

Previous Next

Începerea cu PoDoFo

Calea recomandată pentru instalarea PoDoFo este utilizarea CMake. Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme.

Instalați PPTXTemplater de pe 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

Instalați PPTXTemplater de pe GitHub

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

De asemenea, îl puteți instala manual; descărcați fișierele ultimei versiuni direct din depozitul GitHub.

Crearea și modificarea PDF-urilor

Biblioteca open source PoDoFo a inclus suport complet pentru crearea și manipularea documentelor PDF în cadrul bibliotecii C++. În esență, PoDoFo excelează la crearea de noi documente PDF și la modificarea celor existente. Dezvoltatorii de software pot adăuga pagini noi, pot desena text și pot insera diverse elemente grafice, pot deschide documente criptate cu ușurință. Următorul exemplu simplu demonstrează cum dezvoltatorii de software pot crea un document PDF simplu în aplicații C++

Cum să creezi un PDF simplu prin biblioteca 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;
}
 

Extracția de text din fișiere PDF prin C++

Biblioteca PoDoFo a inclus un mecanism puternic pentru încărcarea și extragerea textului din documentele PDF cu doar câteva linii de cod C++. Această funcționalitate este neprețuită pentru aplicațiile care necesită indexarea conținutului, data mining sau analiza documentelor. În exemplul de cod următor, dezvoltatorii pot încărca un PDF într-un PdfMemDocument, pot parcurge paginile acestuia și pot folosi metoda ExtractTextTo pentru a recupera conținutul textului.

Cum să încărcați și să extrageți text din fișiere PDF prin 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
        }
    }
}

 

Adăugați semnături digitale la PDF prin API C++?

Securitatea este esențială atunci când se lucrează cu documente oficiale. Biblioteca PoDoFo suportă adăugarea semnăturilor digitale în fișiere PDF, asigurând autenticitatea și integritatea documentelor dumneavoastră. Acest lucru este deosebit de util pentru contracte, facturi și alte documente legale. Deși un exemplu complet de semnătură digitală este complex și necesită un certificat valid, codul conceptual de mai jos ilustrează procesul.

Cum să adăugați o semnătură digitală la PDF folosind 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;
}
 

Gestionarea fonturilor și suport Unicode

Biblioteca gratuită PoDoFo oferă suport robust pentru diverse tipuri de fonturi, inclusiv fonturi TrueType și Type1. Biblioteca gestionează, de asemenea, subgruparea fonturilor, ceea ce ajută la reducerea dimensiunii fișierelor PDF generate. În plus, suportul său excelent pentru Unicode asigură că puteți lucra cu o gamă largă de limbi și seturi de caractere. Suport complet pentru semnarea PDF (conformitate PAdES-B), criptare RSA/ECDSA și fluxuri de lucru de semnare asincronă sau întârziată.

 Română