Kasus Penggunaan
Panduan ini menunjukkan kasus penggunaan dunia nyata untuk Aspose.PDF FOSS untuk C++, termasuk pembuatan dokumen, konversi PDF-ke-gambar, ekstraksi teks, distribusi aman, dan AcroForm pengumpulan data. Perpustakaan ini hanya terhubung dengan pustaka standar C++ dan memerlukan kompiler C++20.
Pembuatan Dokumen
Buat PDF dari awal dengan menambahkan halaman ke Document baru dan menyimpan hasilnya. Pola ini menjadi dasar pembuatan faktur, pencetakan sertifikat, dan alur produksi pernyataan:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}Konversi PDF-ke-Gambar
Render sebuah halaman menjadi gambar raster untuk thumbnail, output siap cetak, atau baseline regresi visual. PngDevice, JpegDevice, BmpDevice, dan TiffDevice masing-masing memproses satu halaman pada satu waktu dengan resolusi tertentu:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Devices::PngDevice png(Aspose::Pdf::Devices::Resolution(150));
std::ofstream out("page1.png", std::ios::binary);
png.Process(doc.Pages()[1], out);
}Ekstraksi Teks dan Pengindeksan
Ekstrak teks lengkap dari dokumen dengan TextAbsorber untuk pengindeksan pencarian, pipeline penambangan data, atau verifikasi konten otomatis dalam rangkaian pengujian:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::cout << absorber.Text() << "\n";
}Distribusi Dokumen yang Aman
Enkripsi dokumen dengan kata sandi pengguna dan pemilik yang terpisah sebelum distribusi. Kata sandi pengguna diperlukan untuk membuka file; kata sandi pemilik mengatur izin seperti pencetakan dan ekstraksi konten:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc("report.pdf");
doc.Encrypt("user-password", "owner-password",
Aspose::Pdf::Permissions(),
Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("report-secured.pdf");
}AcroForm Pengumpulan Data
Baca kembali nilai yang diajukan dari formulir PDF yang telah diisi dengan mengiterasi Form.Fields() dan mencetak nama serta nilai saat ini setiap bidang — berguna untuk memproses formulir aplikasi yang telah diisi tanpa server pengiriman formulir terpisah:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>
#include <iostream>
int main() {
Aspose::Pdf::Document doc("submitted-form.pdf");
auto& form = doc.Form();
for (auto* field : form.Fields()) {
std::cout << field->PartialName() << " = " << field->Value() << "\n";
}
}