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

API C++ Percuma untuk Mencipta, Memanipulasi & Menghurai Fail PDF.

Perpustakaan Manipulasi PDF Sumber Terbuka Terkemuka membolehkan Pemaju C++ dengan mudah Mencipta, Memanipulasi, Menyulitkan, Mengurus Fon, dan Menghurai Dokumen PDF dalam Aplikasi C++.

Apakah Perpustakaan PoDoFo?

Dalam dunia pembangunan C++, keupayaan untuk secara programatik mencipta, mengubah suai, dan mengekstrak data daripada fail PDF adalah keperluan yang biasa. Perpustakaan PoDoFo, sebuah perpustakaan sumber terbuka dan mudah alih C++17, muncul sebagai penyelesaian yang kuat dan serba boleh untuk segala hal PDF. PoDoFo tersedia secara percuma dan direka untuk bekerja dengan format fail PDF. Ia membolehkan pembangun perisian untuk mengurai fail PDF, memeriksa entiti PDF peringkat tinggi (seperti anotasi dan medan borang), mengubahnya dalam memori, dan menulis perubahan kembali ke cakera dalam aplikasi mereka sendiri. Perpustakaan ini juga memudahkan pembinaan PDF baru dari awal tanpa sebarang kebergantungan luaran.

PoDoFo ialah perpustakaan C++ yang kukuh yang memberi kuasa kepada pembangun perisian untuk bekerja dengan Portable Document Format (PDF) secara programatik. Dilisensikan di bawah LGPL v2.0 atau lebih baru untuk perpustakaan, dan GPL v2.0 atau lebih baru untuk alat-alat yang menyertainya, perpustakaan PoDoFo memastikan fleksibiliti dan keterbukaan untuk projek komersial dan sumber terbuka. Ia menyediakan set alat yang kaya untuk mengurai, memanipulasi, dan menjana dokumen PDF dari awal. Sama ada anda perlu mengautomasi penjanaan laporan, mengekstrak teks untuk analisis data, atau menambah tandatangan digital untuk keselamatan, PoDoFo menawarkan API yang komprehensif dan fleksibel untuk memenuhi keperluan anda.

Previous Next

Mula Menggunakan PoDoFo

Cara yang disyorkan untuk memasang PoDoFo ialah menggunakan CMake. Sila gunakan perintah berikut untuk pemasangan yang lancar.

Pasang PPTXTemplater dari 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

Pasang PPTXTemplater dari GitHub

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

Anda juga boleh memasangnya secara manual; muat turun fail keluaran terkini secara langsung dari repositori GitHub.

Penciptaan dan Pengubahsuaian PDF

Perpustakaan PoDoFo sumber terbuka telah menyertakan sokongan lengkap untuk penciptaan dan manipulasi dokumen PDF dalam perpustakaan C++. Pada intinya, PoDoFo cemerlang dalam mencipta dokumen PDF baru dan mengubah suai yang sedia ada. Pemaju perisian boleh menambah halaman baru, melukis teks, dan menyisipkan pelbagai elemen grafik, membuka dokumen terenkripsi dengan mudah. Contoh mudah berikut menunjukkan bagaimana pemaju perisian dapat membuat dokumen PDF Ringkas dalam aplikasi C++

Bagaimana Membuat PDF Ringkas melalui Perpustakaan C++?

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

Pengekstrakan Teks dari Fail PDF melalui C++

Perpustakaan PoDoFo telah menyertakan mekanisme yang kuat untuk memuat dan mengekstrak teks daripada dokumen PDF dengan hanya beberapa baris kod C++. Ciri ini sangat berharga untuk aplikasi yang memerlukan pengindeksan kandungan, perlombongan data, atau analisis dokumen. Dalam contoh kod berikut, pemaju dapat memuat PDF ke dalam PdfMemDocument, mengiterasi halaman-halamannya, dan menggunakan kaedah ExtractTextTo untuk mendapatkan kandungan teks.

Bagaimana Memuat dan Mengekstrak Teks dari Fail PDF melalui API C++?

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

 

Tambah Tandatangan Digital ke PDF melalui API C++?

Keselamatan adalah penting apabila mengendalikan dokumen rasmi. Perpustakaan PoDoFo menyokong penambahan tandatangan digital ke fail PDF, memastikan keaslian dan integriti dokumen anda. Ini sangat berguna untuk kontrak, invois, dan dokumen undang‑undang lain. Walaupun contoh tandatangan digital yang lengkap adalah kompleks dan memerlukan sijil yang sah, kod konseptual berikut menggambarkan proses tersebut.

Bagaimana Menambah Tandatangan Digital ke PDF melalui 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;
}
 

Pengurusan Fon dan Sokongan Unicode

Perpustakaan PoDoFo percuma menyediakan sokongan kukuh untuk pelbagai jenis fon, termasuk fon TrueType dan Type1. Perpustakaan ini juga mengendalikan subset fon, yang membantu mengurangkan saiz fail PDF yang dihasilkan. Selain itu, sokongan Unicode yang cemerlang memastikan anda dapat bekerja dengan pelbagai bahasa dan set aksara. Sokongan penuh untuk penandatanganan PDF (pemenuhan PAdES-B), penyulitan RSA/ECDSA, serta aliran kerja penandatanganan secara tak segerak atau ditangguhkan.

 Melayu