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

Ilmainen C++-rajapinta PDF-tiedostojen luomiseen, muokkaamiseen ja jäsentämiseen.

Johtava avoimen lähdekoodin PDF-manipulointikirjasto mahdollistaa C++-kehittäjille vaivattoman PDF-asiakirjojen luomisen, muokkaamisen, salaamisen, fonttien hallinnan ja jäsentämisen C++-sovelluksissa.

Mikä on PoDoFo-kirjasto?

C++-kehityksen maailmassa kyky luoda, muokata ja poimia tietoja PDF-tiedostoista ohjelmallisesti on yleinen vaatimus. PoDoFo-kirjasto, avoimen lähdekoodin ja siirrettävä C++17-kirjasto, nousee voimakkaaksi ja monipuoliseksi ratkaisuksi kaikkiin PDF-asioihin. PoDoFo on vapaasti saatavilla ja on suunniteltu työskentelemään PDF-tiedostomuodon kanssa. Se mahdollistaa ohjelmistokehittäjille PDF-tiedostojen jäsentämisen, korkean tason PDF-objektien (kuten merkintöjen ja lomakekenttien) tarkastelun, niiden muokkaamisen muistissa ja muutosten kirjoittamisen takaisin levylle omissa sovelluksissa. Kirjasto tekee myös helppoa rakentaa uusia PDF-tiedostoja alusta alkaen ilman ulkoisia riippuvuuksia.

PoDoFo on vankka C++-kirjasto, joka antaa ohjelmistokehittäjille mahdollisuuden työskennellä Portable Document Format (PDF) -muodon kanssa ohjelmallisesti. Kirjasto on lisensoitu LGPL v2.0:n tai uudemman version alaisena, ja sen mukana tulevat työkalut GPL v2.0:n tai uudemman version alaisina, mikä takaa joustavuuden ja avoimuuden sekä kaupallisissa että avoimen lähdekoodin projekteissa. Se tarjoaa laajan työkalupaketin PDF-dokumenttien jäsentämiseen, muokkaamiseen ja luomiseen alusta alkaen. Olipa tarpeen automatisoida raporttien luonti, poimia tekstiä data-analyysia varten tai lisätä digitaalisia allekirjoituksia turvallisuuden vuoksi, PoDoFo tarjoaa kattavan ja joustavan API:n tarpeidesi täyttämiseen.

Previous Next

PoDoFo:n aloitus

Suositeltu tapa asentaa PoDoFo on käyttää CMakea. Käytäthän seuraavaa komentoa sujuvan asennuksen varmistamiseksi.

Asenna PPTXTemplater GitHubista

 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

Asenna PPTXTemplater GitHubista

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

Voit myös asentaa sen manuaalisesti; lataa uusimmat julkaisutiedostot suoraan GitHub-varastosta.

PDF:n luominen ja muokkaus

Avoimen lähdekoodin PoDoFo-kirjasto on sisällyttänyt täyden tuen PDF-asiakirjojen luomiseen ja muokkaamiseen C++-kirjastossa. Sen ydinominaisuutena PoDoFo erottuu uusien PDF-asiakirjojen luomisessa ja olemassa olevien muokkaamisessa. Ohjelmistokehittäjät voivat lisätä uusia sivuja, piirtää tekstiä ja lisätä erilaisia graafisia elementtejä, avata salattuja asiakirjoja vaivattomasti. Seuraava yksinkertainen esimerkki osoittaa, miten ohjelmistokehittäjät voivat luoda yksinkertaisen PDF-asiakirjan C++-sovelluksissa

Kuinka luoda yksinkertainen PDF C++-kirjaston avulla?

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

Tekstin poiminta PDF-tiedostoista C++:lla

PoDoFo-kirjasto on sisällyttänyt tehokkaan mekanismin PDF-asiakirjojen lataamiseen ja tekstin poimimiseen vain muutamalla C++-koodirivillä. Tämä ominaisuus on korvaamaton sovelluksille, jotka tarvitsevat sisällön indeksointia, tiedonlouhintaa tai asiakirja-analyysiä. Seuraavassa koodiesimerkissä kehittäjät voivat ladata PDF:n PdfMemDocument-objektiin, käydä sen sivut läpi ja käyttää ExtractTextTo-metodia tekstisisällön hakemiseen.

Kuinka ladata ja poimia teksti PDF-tiedostoista C++-API:n avulla?

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

 

Lisää digitaalisia allekirjoituksia PDF:ään C++-API:n avulla?

Turvallisuus on ensisijaisen tärkeää virallisten asiakirjojen käsittelyssä. PoDoFo-kirjasto tukee digitaalisten allekirjoitusten lisäämistä PDF-tiedostoihin, varmistaen asiakirjojesi aitouden ja eheyden. Tämä on erityisen hyödyllistä sopimuksissa, laskuissa ja muissa oikeudellisissa asiakirjoissa. Vaikka täysi digitaalinen allekirjoitusesimerkki on monimutkainen ja vaatii kelvollisen varmenteen, seuraava konseptuaalinen koodi havainnollistaa prosessin.

Kuinka lisätä digitaalinen allekirjoitus PDF-tiedostoon C++:lla?

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

Fonttien käsittely ja Unicode-tuki

Ilmainen PoDoFo-kirjasto tarjoaa vahvan tuen erilaisille fonttityypeille, mukaan lukien TrueType- ja Type1-fontit. Kirjasto käsittelee myös fonttien alijoukkoja, mikä auttaa pienentämään luotujen PDF-tiedostojen kokoa. Lisäksi sen erinomainen Unicode-tuki varmistaa, että voit työskennellä laajan kieli- ja merkistövalikoiman kanssa. Täysi tuki PDF-allekirjoitukselle (PAdES-B-yhteensopivuus), RSA/ECDSA-salaus ja asynkroniset tai viivästetyt allekirjoitustyöt.

 Suomen