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

Gratis C++-API för att skapa, manipulera och analysera PDF-filer.

Ett ledande öppet källkod PDF-manipuleringsbibliotek gör det möjligt för C++-utvecklare att enkelt skapa, manipulera, kryptera, hantera typsnitt och analysera PDF-dokument i C++-appar.

Vad är PoDoFo-biblioteket?

I C++-utvecklingens värld är förmågan att programatiskt skapa, modifiera och extrahera data från PDF-filer ett vanligt krav. PoDoFo-biblioteket, ett open-source och portabelt C++17-bibliotek, framträder som en kraftfull och mångsidig lösning för allt som rör PDF. PoDoFo är fritt tillgängligt och är designat för att arbeta med PDF-filformatet. Det möjliggör för mjukvaruutvecklare att parsa PDF-filer, inspektera hög nivå PDF‑entiteter (som annotationer och formulärfält), modifiera dem i minnet och skriva tillbaka ändringarna till disk i sina egna applikationer. Biblioteket underlättar också att bygga nya PDF-filer från grunden utan externa beroenden.

PoDoFo är ett robust C++-bibliotek som ger mjukvaruutvecklare möjlighet att arbeta med Portable Document Format (PDF) programatiskt. Licensierat under LGPL v2.0 eller senare för biblioteket, och GPL v2.0 eller senare för dess medföljande verktyg, säkerställer PoDoFo-biblioteket flexibilitet och öppenhet för både kommersiella och öppen källkod‑projekt. Det erbjuder ett rikt verktygssätt för att parsa, manipulera och generera PDF‑dokument från grunden. Oavsett om du behöver automatisera rapportgenerering, extrahera text för dataanalys, eller lägga till digitala signaturer för säkerhet, erbjuder PoDoFo ett omfattande och flexibelt API för att möta dina behov.

Previous Next

Komma igång med PoDoFo

Det rekommenderade sättet att installera PoDoFo är att använda CMake. Använd följande kommando för en smidig installation.

Installera PPTXTemplater från 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

Installera PPTXTemplater från GitHub

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

Du kan också installera det manuellt; ladda ner de senaste release‑filerna direkt från GitHub-arkivet.

Skapa och modifiera PDF

Det öppna källkods‑biblioteket PoDoFo har inkluderat fullständigt stöd för skapande och manipulation av PDF‑dokument i ett C++‑bibliotek. I kärnan utmärker sig PoDoFo på att skapa nya PDF‑dokument och modifiera befintliga. Programvaruutvecklare kan lägga till nya sidor, rita text och infoga olika grafiska element, samt öppna krypterade dokument med lätthet. Följande enkla exempel visar hur programvaruutvecklare kan skapa ett enkelt PDF‑dokument i C++‑applikationer

Hur skapar man en enkel PDF via C++‑biblioteket?

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

Hur laddar man och extraherar text från PDF-filer via C++-API?

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

 

Lägg till digitala signaturer i PDF via C++-API?

Säkerhet är av största vikt när man hanterar officiella dokument. PoDoFo-biblioteket stöder tillägg av digitala signaturer till PDF-filer, vilket säkerställer äktheten och integriteten i dina dokument. Detta är särskilt användbart för kontrakt, fakturor och andra juridiska dokument. Även om ett komplett exempel på digital signatur är komplext och kräver ett giltigt certifikat, illustrerar följande konceptuella kod processen.

Hur lägger man till en digital signatur i 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;
}
 

Hantera teckensnitt och Unicode‑stöd

Det fria PoDoFo-biblioteket erbjuder robust stöd för olika typsnittstyper, inklusive TrueType- och Type1-typsnitt. Biblioteket hanterar också typsnittssubsetting, vilket hjälper till att minska filstorleken på de genererade PDF:erna. Dessutom säkerställer dess utmärkta Unicode-stöd att du kan arbeta med ett brett spektrum av språk och teckenuppsättningar. Fullt stöd för PDF-signering (PAdES-B-efterlevnad), RSA/ECDSA-kryptering och asynkrona eller fördröjda signeringsarbetsflöden.

 Svenska