Bezplatné C++ API pro vytváření, manipulaci a parsování PDF souborů.
Vedoucí open source knihovna pro manipulaci s PDF umožňuje vývojářům C++ snadno vytvářet, manipulovat, šifrovat, spravovat písma a parsovat PDF dokumenty v C++ aplikacích.
Co je knihovna PoDoFo?
Ve světě vývoje v C++ je schopnost programově vytvářet, upravovat a extrahovat data z PDF souborů běžnou požadavkem. Knihovna PoDoFo, open-source a přenosná knihovna C++17, představuje výkonné a univerzální řešení pro vše, co souvisí s PDF. PoDoFo je volně dostupná a je navržena pro práci s formátem PDF. Umožňuje vývojářům softwaru parsovat PDF soubory, prohlížet vysokou úroveň entit PDF (jako jsou anotace a formulářová pole), upravovat je v paměti a zapisovat změny zpět na disk v rámci jejich vlastních aplikací. Knihovna také usnadňuje vytváření nových PDF od nuly bez jakýchkoli externích závislostí.
PoDoFo je robustní knihovna v C++, která umožňuje vývojářům softwaru pracovat s formátem Portable Document Format (PDF) programově. Knihovna je licencována pod LGPL v2.0 nebo novější pro samotnou knihovnu a pod GPL v2.0 nebo novější pro přidružené nástroje, což zajišťuje flexibilitu a otevřenost jak pro komerční, tak open-source projekty. Poskytuje bohatou sadu nástrojů pro analýzu, manipulaci a generování PDF dokumentů od nuly. Ať už potřebujete automatizovat tvorbu reportů, extrahovat text pro analýzu dat, nebo přidat digitální podpisy pro zabezpečení, PoDoFo nabízí komplexní a flexibilní API, které splní vaše potřeby.
Začínáme s PoDoFo
Doporučený způsob instalace PoDoFo je pomocí CMake. Použijte prosím následující příkaz pro hladkou instalaci.
Instalovat PPTXTemplater z GitHubu
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
Instalovat PPTXTemplater z GitHubu
git clone https://github.com/podofo/podofo.gitMůžete jej také nainstalovat ručně; stáhněte nejnovější soubory vydání přímo z GitHub repozitáře.
Vytváření a úprava PDF
Open source knihovna PoDoFo zahrnuje kompletní podporu pro vytváření a manipulaci PDF dokumentů v C++ knihovně. V jádru PoDoFo vyniká při vytváření nových PDF dokumentů a úpravě existujících. Vývojáři softwaru mohou přidávat nové stránky, kreslit text a vkládat různé grafické prvky, snadno otevírat šifrované dokumenty. Následující jednoduchý příklad ukazuje, jak vývojáři softwaru mohou vytvořit jednoduchý PDF dokument v C++ aplikacích
Jak vytvořit jednoduchý PDF pomocí C++ knihovny?
#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;
}
Extrahování textu z PDF souborů pomocí C++
Knihovna PoDoFo zahrnuje výkonný mechanismus pro načtení a extrakci textu z PDF dokumentů pomocí pouhých několika řádků C++ kódu. Tato funkce je neocenitelná pro aplikace, které vyžadují indexaci obsahu, těžbu dat nebo analýzu dokumentů. V následujícím příkladu kódu mohou vývojáři načíst PDF do PdfMemDocument, procházet jeho stránky a použít metodu ExtractTextTo k získání textového obsahu.
Jak načíst a extrahovat text z PDF souborů pomocí 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
}
}
}
Přidat digitální podpisy do PDF pomocí C++ API?
Bezpečnost je při práci s úředními dokumenty nejvyšší prioritou. Knihovna PoDoFo podporuje přidání digitálních podpisů do PDF souborů, čímž zajišťuje pravost a integritu vašich dokumentů. To je zvláště užitečné pro smlouvy, faktury a další právní dokumenty. Zatímco kompletní příklad digitálního podpisu je složitý a vyžaduje platný certifikát, následující konceptuální kód ilustruje proces.
Jak přidat digitální podpis do PDF pomocí 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;
}
Zpracování fontů a podpora Unicode
Bezplatná knihovna PoDoFo poskytuje robustní podporu pro různé typy fontů, včetně TrueType a Type1 fontů. Knihovna také zpracovává podmnožiny fontů, což pomáhá snížit velikost souboru generovaných PDF. Dále její vynikající podpora Unicode zajišťuje, že můžete pracovat s širokou škálou jazyků a znakových sad. Plná podpora pro podepisování PDF (soulad s PAdES-B), šifrování RSA/ECDSA a asynchronní nebo odložené workflow podepisování.