שאלות נפוצות
מהו מודל הרישוי עבור Aspose.PDF FOSS for C++?
Aspose.PDF FOSS for C++ הוא ברישיון MIT. הוא חופשי לשימוש במוצרים מסחריים ולא-מסחריים, ללא מפתח הפעלה, מגבלות קריאה של API, או צורך בהסכם מסחרי.
איך מוסיפים את Aspose.PDF FOSS for C++ לפרויקט CMake?
השתמש ב-vendor או שכפל את המאגר לתוך עץ הפרויקט שלך, הוסף אותו כתת-ספרייה, וקשר את יעד הספרייה הסטטית:
add_subdirectory(aspose.pdf-foss-for-cpp)
target_link_libraries(your_app PRIVATE aspose_pdf_foss)אילו גרסאות של מהדר ו-CMake נדרשות?
מהדר C++20 — clang 16+, gcc 13+, או MSVC 2022 17.5+ — ו-CMake 3.22 ומעלה. הבנייה דורשת גם את Python 3 רק בזמן הבנייה, כדי לייצר את קווי המתאר של הגופן Standard-14 המובנים.
האם לספרייה יש תלויות זמן ריצה?
לא. Aspose.PDF FOSS for C++ מקשר רק מול ספריית ה-C++ הסטנדרטית — אין צורך בתלות של PDF, תמונה או דחיסה מצד שלישי בזמן ריצה.
אילו פורמטים Aspose.PDF FOSS for C++ יכול לקרוא ולייצא?
הוא פותח ושומר מסמכי PDF מקומיים. דפים שעובדו יכולים להיות מיוצאים ל-Bmp, Jpeg ו-Tiff דרך BmpDevice, JpegDevice ו-TiffDevice, ולטקסט פשוט דרך TextDevice. תוכן SVG ניתן לייבא למסמך דרך SvgLoadOptions.
איך אני פותח קובץ PDF קיים ובודק את מספר העמודים שלו?
#include <aspose/pdf/document.hpp>
Aspose::Pdf::Document doc("input.pdf");
std::size_t pages = doc.Pages().Count();איך אני מחלץ טקסט ממסמך PDF?
השתמש ב-TextAbsorber, בקר במסמך, ואז קרא את הטקסט שנאסף:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/text_absorber.hpp>
Aspose::Pdf::Document doc("input.pdf");
Aspose::Pdf::Text::TextAbsorber absorber;
absorber.Visit(doc);
std::string text = absorber.Text();איך אני מרנדר עמוד PDF לתמונה?
השתמש במחלקת מכשיר כגון PngDevice עם יעד Resolution, ואז עבד עמוד יחיד אל זרם פלט:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/png_device.hpp>
#include <aspose/pdf/resolution.hpp>
#include <fstream>
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);איך אני מצפין מסמך PDF?
התקשר ל-Document.Encrypt() עם סיסמת משתמש, סיסמת בעלים, ערך Permissions, ו-CryptoAlgorithm:
#include <aspose/pdf/document.hpp>
Aspose::Pdf::Document doc("input.pdf");
doc.Encrypt("user-password", "owner-password",
Aspose::Pdf::Permissions(), Aspose::Pdf::CryptoAlgorithm::AESx256);
doc.Save("encrypted.pdf");RC4x40, RC4x128, AESx128 ו-AESx256 זמינים דרך המונה CryptoAlgorithm. Document.Decrypt() מסיר הצפנה ממסמך שכבר פתוח.
איך אני קורא או ממלא ערכי שדה AcroForm?
חזור על Form.Fields() מהמסמך וקרא או הגדר את ערך כל שדה לפי שם חלקי שלו:
#include <aspose/pdf/document.hpp>
#include <aspose/pdf/forms/form.hpp>
Aspose::Pdf::Document doc("application_form.pdf");
auto& form = doc.Form();
for (auto* field : form.Fields()) {
if (field->PartialName() == "applicant_name") {
field->Value("Jane Doe");
}
}
doc.Save("application_filled.pdf");האם יש מגבלות ידועות בגרסה הנוכחית?
כן. XmpValue — סוג הערך המשמש עבור ערכי מטא-נתוני XMP שמוחזרים מ-Document.Metadata() — חושף עוזרי בדיקת סוג IsDateTime(), IsField(), IsNamedValue(), IsRaw(), IsNamedValues() ו-IsStructure() שהם כיום שלדים ותמיד מחזירים false. קוד שמבצע סניפה על בסיס הבדיקות הללו אינו יכול להבדיל בין סוגי ערכי XMP הללו. השתמש בבדיקות המיושמות במקום — IsString(), IsInteger(), IsDouble(), IsArray() — או קרא למגיש המתאים (ToStringValue(), ToInteger(), ToDouble(), ToArray()) ישירות כאשר סוג הערך כבר ידוע מההקשר. מספר קטן של סוגים פנימיים ברמת נמוכה גם מכילים קונסטרוקטורים של שלדים שלא מתבצעים בקוד העיבוד הרגיל של מסמכים.
היכן נמצא קוד המקור ומעקב הבעיות?
קוד המקור ומערכת מעקב התקלות זמינים ב-https://github.com/aspose-pdf-foss/Aspose.PDF-FOSS-for-Cpp.