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

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.

Previous Next

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.git

Můž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í.

 Čeština