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

Nemokama C++ API PDF failų kūrimui, manipuliavimui ir analizavimui.

Vyriausia atviro kodo PDF manipuliavimo biblioteka leidžia C++ kūrėjams be vargo kurti, manipuliuoti, šifruoti, valdyti šriftus ir analizuoti PDF dokumentus C++ programose.

Kas yra PoDoFo biblioteka?

C++ kūrimo pasaulyje gebėjimas programiškai kurti, modifikuoti ir išgauti duomenis iš PDF failų yra dažnas reikalavimas. PoDoFo biblioteka, atviro kodo ir perkeliamas C++17 biblioteka, iškyla kaip galingas ir universalus sprendimas viskam, kas susiję su PDF. PoDoFo yra laisvai prieinama ir sukurta darbui su PDF failų formatu. Ji leidžia programinės įrangos kūrėjams analizuoti PDF failus, peržiūrėti aukšto lygio PDF objektus (pvz., anotacijas ir formų laukus), modifikuoti juos atmintyje ir įrašyti pakeitimus atgal į diską savo programose. Biblioteka taip pat palengvina naujų PDF kūrimą nuo nulio be jokių išorinių priklausomybių.

PoDoFo yra galinga C++ biblioteka, leidžianti programinės įrangos kūrėjams programiškai dirbti su Portable Document Format (PDF). Biblioteka licencijuota pagal LGPL v2.0 arba vėlesnę versiją, o jos papildomi įrankiai – pagal GPL v2.0 arba vėlesnę versiją, todėl PoDoFo biblioteka užtikrina lankstumą ir atvirumą tiek komerciniams, tiek atviro kodo projektams. Ji suteikia platų įrankių rinkinį PDF dokumentų skaitymui, manipuliavimui ir generavimui nuo nulio. Nesvarbu, ar reikia automatizuoti ataskaitų generavimą, išgauti tekstą duomenų analizei, ar pridėti skaitmeninius parašus saugumui – PoDoFo siūlo išsamų ir lankstų API, atitinkantį jūsų poreikius.

Previous Next

Pradžia su PoDoFo

Rekomenduojamas būdas įdiegti PoDoFo yra naudojant CMake. Norėdami sklandžiai įdiegti, naudokite šią komandą.

Įdiekite PPTXTemplater iš 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

Įdiekite PPTXTemplater iš GitHub

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

Taip pat galite įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.

PDF kūrimas ir modifikavimas

Atviro kodo PoDoFo biblioteka suteikė visapusišką PDF dokumentų kūrimo ir manipuliavimo palaikymą C++ bibliotekoje. Jos pagrindas – PoDoFo puikiai tinka kurti naujus PDF dokumentus ir modifikuoti esamus. Programų kūrėjai gali pridėti naujus puslapius, piešti tekstą ir įterpti įvairius grafinės elementus, lengvai atverti šifruotus dokumentus. Toliau pateiktas paprastas pavyzdys parodo, kaip programų kūrėjai gali sukurti paprastą PDF dokumentą C++ programose

Kaip sukurti paprastą PDF naudojant C++ biblioteką?

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

Teksto išgavimas iš PDF failų naudojant C++

PoDoFo biblioteka suteikė galingą mechanizmą įkelti ir išgauti tekstą iš PDF dokumentų vos keliais C++ kodo eilutėmis. Ši funkcija yra neįkainojama programoms, kurioms reikia turinio indeksavimo, duomenų gavybos arba dokumentų analizės. Tolimesniame kodo pavyzdyje kūrėjai gali įkelti PDF į PdfMemDocument, pereiti per jo puslapius ir naudoti metodą ExtractTextTo, kad gautų teksto turinį.

Kaip įkelti ir išgauti tekstą iš PDF failų naudojant 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
        }
    }
}

 

Pridėti skaitmeninius parašus į PDF naudojant C++ API?

Saugumas yra svarbiausias dirbant su oficialiais dokumentais. PoDoFo biblioteka palaiko skaitmeninių parašų pridėjimą prie PDF failų, užtikrinant jūsų dokumentų autentiškumą ir integralumą. Tai ypač naudinga sutartims, sąskaitoms faktūroms ir kitiems teisiniams dokumentams. Nors pilnas skaitmeninio parašo pavyzdys yra sudėtingas ir reikalauja galiojančio sertifikato, žemiau pateiktas konceptualus kodas iliustruoja procesą.

Kaip pridėti skaitmeninį parašą prie PDF naudojant 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;
}
 

Šriftų tvarkymas ir Unicode palaikymas

Laisva PoDoFo biblioteka suteikia patikimą palaikymą įvairiems šriftų tipams, įskaitant TrueType ir Type1 šriftus. Biblioteka taip pat tvarko šriftų dalinimą (subsetting), kas padeda sumažinti sukurtų PDF failų dydį. Be to, jos puikus Unicode palaikymas užtikrina, kad galėsite dirbti su plačiu kalbų ir simbolių rinkinių spektru. Pilnas PDF parašų palaikymas (PAdES-B atitiktis), RSA/ECDSA šifravimas ir asinchroniniai arba atidėti parašymo procesai.

 Lietuvių