1. Məhsullar
  2.   PDF
  3.   C++
  4.   PoDoFo
 
  

PDF fayllarını yaratmaq, manipulyasiya etmək və təhlil etmək üçün Pulsuz C++ API.

Öncül Açıq Mənbəli PDF Manipulyasiya Kitabxanası C++ inkişaf etdiricilərinə C++ tətbiqlərində PDF sənədlərini asanlıqla yaratmaq, manipulyasiya etmək, şifrələmək, şriftləri idarə etmək və təhlil etmək imkanı verir.

PoDoFo Kitabxanası nədir?

C++ inkişafı dünyasında PDF fayllarını proqram vasitəsilə yaratmaq, dəyişdirmək və məlumat çıxarmaq qabiliyyəti ümumi tələblərdəndir. Açıq mənbəli və daşına bilən C++17 kitabxanası PoDoFo, PDF ilə bağlı bütün işlər üçün güclü və çoxistiqamətli həll kimi ortaya çıxır. PoDoFo pulsuz mövcuddur və PDF fayl formatı ilə işləmək üçün hazırlanmışdır. O, proqram təminatı inkişaf etdiricilərinə PDF fayllarını təhlil etməyə, yüksək səviyyəli PDF obyektlərini (məsələn, şərhləri və forma sahələrini) yoxlamağa, yaddaşda dəyişdirməyə və dəyişiklikləri öz tətbiqləri daxilində diska yazmağa imkan verir. Kitabxana həmçinin heç bir xarici asılılıq olmadan sıfırdan yeni PDF-lər yaratmağı asanlaşdırır.

PoDoFo, proqram təminatı inkişaf etdiricilərinə Portable Document Format (PDF) ilə proqramlaşdırma yolu ilə işləməyə imkan verən güclü C++ kitabxanasıdır. Kitabxana LGPL v2.0 və ya daha yuxarı, ona əlavə alətlər isə GPL v2.0 və ya daha yuxarı lisenziyası altında verilir, PoDoFo kitabxanası kommersiya və açıq mənbə layihələri üçün elastiklik və açıqlıq təmin edir. Sıfırdan PDF sənədlərini oxumaq, manipulyasiya etmək və yaratmaq üçün zəngin alətlər dəsti təqdim edir. Hesabatların avtomatlaşdırılması, məlumat təhlili üçün mətnin çıxarılması və ya təhlükəsizlik üçün rəqəmsal imzaların əlavə edilməsi kimi ehtiyaclarınızı qarşılamaq üçün PoDoFo geniş və elastik API təklif edir.

Previous Next

PoDoFo ilə Başlamaq

PoDoFo-nu quraşdırmağın tövsiyə olunan yolu CMake istifadə etməkdir. Sorunsuz quraşdırma üçün aşağıdakı əmri istifadə edin.

PPTXTemplater-i GitHub-dan quraşdırın

 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

PPTXTemplater-i GitHub-dan quraşdırın

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

Həmçinin onu əl ilə quraşdıra bilərsiniz; son buraxılış fayllarını birbaşa GitHub deposundan yükləyin.

PDF Yaratma və Dəyişdirmə

Açıq mənbəli PoDoFo kitabxanası C++ kitabxanası daxilində PDF sənədlərinin yaradılması və manipulyasiyası üçün tam dəstəyi daxil etmişdir. Özünün əsasında PoDoFo yeni PDF sənədləri yaratmaq və mövcud olanları dəyişdirməkdə üstünlük göstərir. Proqram təminatı inkişaf etdiriciləri yeni səhifələr əlavə edə, mətn çəkmə və müxtəlif qrafik elementləri daxil edə, şifrəli sənədləri asanlıqla aça bilərlər. Aşağıdakı sadə nümunə, proqram təminatı inkişaf etdiricilərinin C++ tətbiqləri daxilində Sadə PDF sənədi yaratmağı necə edə biləcəyini göstərir

C++ Kitabxanası ilə Sadə PDF Necə Yaratmaq Olar?

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

C++ vasitəsilə PDF Fayllarından Mətn Çıxarışı

PoDoFo kitabxanası PDF sənədlərindən mətn yükləmək və çıxarmaq üçün yalnız bir neçə C++ sətiri ilə güclü bir mexanizm əlavə etmişdir. Bu xüsusiyyət məzmun indeksləşdirmə, məlumat mədənçiliyi və ya sənəd təhlili tələb edən tətbiqlər üçün qiymətsizdir. Aşağıdakı kod nümunəsində, inkişaf etdiricilər PDF-i PdfMemDocument-ə yükləyə, səhifələrini gəzə və mətn məzmununu əldə etmək üçün ExtractTextTo metodundan istifadə edə bilərlər.

C++ API vasitəsilə PDF fayllarını necə yükləmək və mətn çıxarmaq olar?

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

 

C++ API vasitəsilə PDF-ə Rəqəmsal İmzalar əlavə etmək?

Rəsmi sənədlərlə işləyərkən təhlükəsizlik ən vacibdir. PoDoFo kitabxanası PDF fayllarına rəqəmsal imzaların əlavə edilməsini dəstəkləyir, sənədlərinizin orijinallığını və bütövlüyünü təmin edir. Bu, xüsusilə müqavilələr, fakturalar və digər hüquqi sənədlər üçün faydalıdır. Tam rəqəmsal imza nümunəsi mürəkkəbdir və etibarlı sertifikat tələb edir, lakin aşağıdakı konseptual kod prosesi izah edir.

C++ vasitəsilə PDF-ə rəqəmsal imza necə əlavə etmək olar?

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

Şriftlərin İdarə Edilməsi və Unicode Dəstəyi

Pulsuz PoDoFo kitabxanası TrueType və Type1 şriftləri daxil olmaqla müxtəlif şrift növləri üçün güclü dəstək təqdim edir. Kitabxana həmçinin şrift alt dəstəsini idarə edir, bu da yaradılan PDF-lərin fayl ölçüsünü azaltmağa kömək edir. Üstəlik, mükəmməl Unicode dəstəyi sayəsində geniş dil və simvol dəstələri ilə işləyə bilərsiniz. PDF imzalaması (PAdES-B uyğunluğu), RSA/ECDSA şifrələməsi və asinxron və ya gecikdirilmiş imzalama iş axınları üçün tam dəstək.

 Azəri