API C++ Gratis untuk Membuat, Memanipulasi & Memparse File PDF.
Perpustakaan Manipulasi PDF Sumber Terbuka Terdepan memungkinkan Pengembang C++ untuk dengan mudah Membuat, Memanipulasi, Mengenkripsi, Mengelola Font, dan Memparse Dokumen PDF di dalam Aplikasi C++.
Apa itu Perpustakaan PoDoFo?
Di dunia pengembangan C++, kemampuan untuk secara programatik membuat, memodifikasi, dan mengekstrak data dari file PDF merupakan kebutuhan yang umum. Library PoDoFo, sebuah library open-source dan portabel C++17, muncul sebagai solusi yang kuat dan serbaguna untuk segala hal terkait PDF. PoDoFo tersedia secara gratis dan dirancang untuk bekerja dengan format file PDF. Library ini memungkinkan pengembang perangkat lunak untuk mengurai file PDF, memeriksa entitas PDF tingkat tinggi (seperti anotasi dan bidang formulir), memodifikasinya di memori, dan menulis perubahan kembali ke disk dalam aplikasi mereka sendiri. Library ini juga memudahkan pembuatan PDF baru dari awal tanpa ketergantungan eksternal.
PoDoFo adalah pustaka C++ yang kuat yang memungkinkan pengembang perangkat lunak bekerja dengan Portable Document Format (PDF) secara programatik. Dililisensikan di bawah LGPL v2.0 atau lebih baru untuk pustaka, dan GPL v2.0 atau lebih baru untuk alat pendampingnya, pustaka PoDoFo memastikan fleksibilitas dan keterbukaan untuk proyek komersial maupun sumber terbuka. Ia menyediakan rangkaian alat yang kaya untuk mengurai, memanipulasi, dan menghasilkan dokumen PDF dari awal. Baik Anda perlu mengotomatisasi pembuatan laporan, mengekstrak teks untuk analisis data, atau menambahkan tanda tangan digital untuk keamanan, PoDoFo menawarkan API yang komprehensif dan fleksibel untuk memenuhi kebutuhan Anda.
Memulai dengan PoDoFo
Cara yang disarankan untuk menginstal PoDoFo adalah menggunakan CMake. Silakan gunakan perintah berikut untuk instalasi yang lancar.
Instal 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
Instal PPTXTemplater dari GitHub
git clone https://github.com/podofo/podofo.gitAnda juga dapat menginstalnya secara manual; unduh file rilis terbaru langsung dari repositori GitHub.
Pembuatan dan Modifikasi PDF
Perpustakaan PoDoFo sumber terbuka telah menyertakan dukungan lengkap untuk pembuatan dan manipulasi dokumen PDF di dalam perpustakaan C++. Pada intinya, PoDoFo unggul dalam membuat dokumen PDF baru dan memodifikasi yang sudah ada. Pengembang perangkat lunak dapat menambahkan halaman baru, menggambar teks, dan menyisipkan berbagai elemen grafis, membuka dokumen terenkripsi dengan mudah. Contoh sederhana berikut menunjukkan bagaimana pengembang perangkat lunak dapat membuat dokumen PDF sederhana di dalam aplikasi C++
Cara Membuat PDF Sederhana 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;
}
Ekstraksi Teks dari File PDF melalui C++
Perpustakaan PoDoFo telah menyertakan mekanisme kuat untuk memuat dan mengekstrak teks dari dokumen PDF dengan hanya beberapa baris kode C++. Fitur ini sangat berharga bagi aplikasi yang memerlukan pengindeksan konten, penambangan data, atau analisis dokumen. Dalam contoh kode berikut, pengembang dapat memuat PDF ke dalam PdfMemDocument, mengiterasi halamannya, dan menggunakan metode ExtractTextTo untuk mengambil konten teks.
Cara Memuat dan Mengekstrak Teks dari File 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
}
}
}
Menambahkan Tanda Tangan Digital ke PDF melalui API C++?
Keamanan sangat penting saat menangani dokumen resmi. Perpustakaan PoDoFo mendukung penambahan tanda tangan digital ke file PDF, memastikan keaslian dan integritas dokumen Anda. Ini sangat berguna untuk kontrak, faktur, dan dokumen hukum lainnya. Meskipun contoh lengkap tanda tangan digital cukup kompleks dan memerlukan sertifikat yang valid, kode konseptual berikut menggambarkan prosesnya.
Cara Menambahkan Tanda Tangan Digital ke 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;
}
Penanganan Font dan Dukungan Unicode
Perpustakaan PoDoFo gratis menyediakan dukungan kuat untuk berbagai jenis font, termasuk font TrueType dan Type1. Perpustakaan ini juga menangani subsetting font, yang membantu mengurangi ukuran file PDF yang dihasilkan. Selain itu, dukungan Unicode yang luar biasa memastikan Anda dapat bekerja dengan berbagai bahasa dan set karakter. Dukungan penuh untuk penandatanganan PDF (kepatuhan PAdES-B), enkripsi RSA/ECDSA, serta alur kerja penandatanganan asinkron atau tertunda.