Gratis C++ API for å opprette, manipulere & analysere PDF-filer.
Et ledende åpen kildekode PDF-manipuleringsbibliotek gjør det enkelt for C++-utviklere å opprette, manipulere, kryptere, håndtere skrifttyper og analysere PDF-dokumenter i C++-apper.
Hva er PoDoFo-biblioteket?
I C++-utviklingsverdenen er evnen til programmatisk å opprette, endre og hente ut data fra PDF-filer et vanlig krav. PoDoFo-biblioteket, et åpen kildekode- og portabelt C++17-bibliotek, fremstår som en kraftig og allsidig løsning for alt som har med PDF å gjøre. PoDoFo er fritt tilgjengelig og er designet for å arbeide med PDF-filformatet. Det gjør det mulig for programvareutviklere å parse PDF-filer, inspisere høynivå PDF-enheter (som annotasjoner og skjemafelter), endre dem i minnet, og skrive endringer tilbake til disk i sine egne applikasjoner. Biblioteket gjør det også enkelt å bygge nye PDF-er fra bunnen av uten noen eksterne avhengigheter.
PoDoFo er et robust C++-bibliotek som gjør det mulig for programvareutviklere å jobbe med Portable Document Format (PDF) programmatisk. Lisensiert under LGPL v2.0 eller senere for biblioteket, og GPL v2.0 eller senere for de medfølgende verktøyene, sikrer PoDoFo-biblioteket fleksibilitet og åpenhet for både kommersielle og åpne kildeprosjekter. Det gir et rikt sett med verktøy for å analysere, manipulere og generere PDF-dokumenter fra bunnen av. Enten du trenger å automatisere rapportgenerering, trekke ut tekst for dataanalyse, eller legge til digitale signaturer for sikkerhet, tilbyr PoDoFo et omfattende og fleksibelt API som møter dine behov.
Kom i gang med PoDoFo
Den anbefalte måten å installere PoDoFo på er ved å bruke CMake. Vennligst bruk følgende kommando for en smidig installasjon.
Installer PPTXTemplater fra 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
Installer PPTXTemplater fra GitHub
git clone https://github.com/podofo/podofo.gitDu kan også installere det manuelt; last ned de nyeste utgivelsesfilene direkte fra GitHub-repoet.
Opprettelse og endring av PDF
Det åpne kildekodebiblioteket PoDoFo har inkludert full støtte for opprettelse og manipulering av PDF-dokumenter i C++-biblioteket. I kjernen utmerker PoDoFo seg i å lage nye PDF-dokumenter og endre eksisterende. Programvareutviklere kan legge til nye sider, tegne tekst og sette inn ulike grafiske elementer, samt åpne krypterte dokumenter med letthet. Det følgende enkle eksemplet viser hvordan programvareutviklere kan lage et enkelt PDF-dokument i C++-applikasjoner
Hvordan lage 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;
}
Tekstuttrekk fra PDF-filer via C++
PoDoFo-biblioteket har inkludert en kraftig mekanisme for å laste inn og trekke ut tekst fra PDF-dokumenter med bare noen få linjer C++-kode. Denne funksjonen er uvurderlig for applikasjoner som krever innholdsindeksering, datagruvedrift eller dokumentanalyse. I det følgende kodeeksemplet kan utviklere laste en PDF inn i et PdfMemDocument, iterere gjennom sidene, og bruke ExtractTextTo-metoden for å hente tekstinnholdet.
Hvordan laste inn og hente ut tekst fra 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
}
}
}
Legge til digitale signaturer i PDF via C++-API?
Sikkerhet er avgjørende når man håndterer offisielle dokumenter. PoDoFo-biblioteket støtter tillegg av digitale signaturer til PDF-filer, og sikrer autentisiteten og integriteten til dokumentene dine. Dette er spesielt nyttig for kontrakter, fakturaer og andre juridiske dokumenter. Selv om et fullstendig eksempel på digital signatur er komplekst og krever et gyldig sertifikat, illustrerer den følgende konseptuelle koden prosessen.
Hvordan legge til 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;
}
Håndtering av skrifttyper og Unicode-støtte
Det gratis PoDoFo-biblioteket gir robust støtte for ulike skrifttyper, inkludert TrueType- og Type1-skrifter. Biblioteket håndterer også skrifttype‑subsetting, som bidrar til å redusere filstørrelsen på de genererte PDF‑filene. Videre sikrer den utmerkede Unicode‑støtten at du kan arbeide med et bredt spekter av språk og tegnsett. Full støtte for PDF‑signering (PAdES‑B‑kompatibilitet), RSA/ECDSA‑kryptering, og asynkrone eller utsatte signeringsarbeidsflyter.