מקרי שימוש
מדריך זה מדגים מקרי שימוש מהעולם האמיתי עבור 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";
}
}