موارد استفاده
این راهنما موارد استفاده واقعی Aspose.PDF FOSS برای C++ را نشان میدهد، از جمله تولید سند، تبدیل PDF به تصویر، استخراج متن، توزیع امن، و جمعآوری دادههای AcroForm. این کتابخانه فقط به کتابخانه استاندارد C++ لینک میشود و به یک کامپایلر C++20 نیاز دارد.
تولید سند
یک PDF را از صفر بسازید با افزودن صفحات به یک Document جدید و ذخیرهٔ نتیجه. این الگو پایهٔ تولید فاکتور، چاپ گواهینامهها و خطوط تولید بیانیهها است:
#include <aspose/pdf/document.hpp>
int main() {
Aspose::Pdf::Document doc;
doc.Pages().Add();
doc.SetTitle("Monthly Report");
doc.Save("report.pdf");
}تبدیل PDF به تصویر
یک صفحه را به تصویر رستر برای تصویرهای بندانگشتی، خروجی آماده چاپ یا پایههای رگرسیون بصری تبدیل کنید. PngDevice، JpegDevice، BmpDevice و TiffDevice هر کدام یک صفحه را بهصورت تکتک و با وضوح مشخص پردازش میکنند:
#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);
}استخراج متن و نمایهسازی
متن کامل یک سند را با TextAbsorber استخراج کنید برای ایندکسگذاری جستجو، خطوط لوله دادهکاوی، یا تأیید خودکار محتوا در مجموعههای آزمون:
#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";
}توزیع امن اسناد
یک سند را قبل از توزیع با رمزهای عبور جداگانهٔ کاربر و مالک رمزگذاری کنید. رمز عبور کاربر برای باز کردن فایل لازم است؛ رمز عبور مالک مجوزهایی مانند چاپ و استخراج محتوا را کنترل میکند:
#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 جمعآوری دادهها
مقدارهای ارسالشده را از یک فرم PDF پرشده با تکرار Form.Fields() بخوانید و نام هر فیلد و مقدار فعلی آن را چاپ کنید — برای پردازش فرمهای درخواست پرشده بدون نیاز به سرور جداگانهٔ ارسال فرم مفید است:
#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";
}
}