กรณีการใช้งาน
คู่มือนี้สาธิตกรณีการใช้งานจริงสำหรับ 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";
}
}