Aspose.PDF for C++
إنشاء وتحرير وتحويل ملفات PDF عبر C++ API
تسمح واجهة برمجة تطبيقات C++ للعمل مع ملفات PDF للبرامج الاحترافية بإنشاء ملفات PDF وتعديلها ودمجها/تقسيمها واستخراجها وتحويلها.
Aspose.PDF for C++ عبارة عن مكتبة C++ قوية جدًا لمعالجة مستندات PDF والتي تمكن مطوري البرامج من إنشاء الملفات ومعالجتها مستندات PDF دون استخدام Adobe Acrobat أو أي تطبيقات خارجية. من السهل جدًا التعامل مع المكتبة ويمكنها بسهولة تنفيذ إمكانات غنية لإنشاء ملفات PDF من البداية. يمكن استخدام المكتبة لإنشاء أي نوع من تطبيقات C++ 32 بت و64 بت ويمكن أن تؤدي أداءً جيدًا على الخادم وكذلك على جانب العميل.
يحتوي Aspose.PDF for C++ على مجموعة واسعة من الميزات لإنشاء مستندات PDF وتحريرها وتحليلها ومعالجتها وتحويلها، مثل إنشاء نماذج PDF وإدارة حقول النماذج وإدراج الصور أو استبدالها في PDFS وإضافة نص إلى PDF ، معالجة الخطوط المخصصة، تعيين هامش الصفحة، إدارة حجم الصفحة، تعيين نوع انتقال PDF، إضافة وتعديل المرفقات والتعليقات التوضيحية، إدراج علامات مائية في PDF، إضافة وإدارة الإشارات المرجعية، تقسيم مستندات PDF، دمج PDF، إدراج صفحات جديدة، تحويل الصفحات إلى صورة وتعيين البيانات الوصفية لمستندات PDF وغيرها الكثير.
يدعم Aspose.PDF for C++ أيضًا مجموعة واسعة من ميزات الأمان، مثل الحماية بكلمة مرور والتوقيعات الرقمية، والتي يمكن استخدامها لحماية المعلومات الحساسة في مستند PDF. توفر المكتبة أيضًا مجموعة واسعة من الخيارات لتحسين وضغط ملفات PDF، مما يمكن أن يساعد في تقليل حجم الملف وجعله قابلاً للمشاركة بسهولة أكبر. بالإضافة إلى ذلك، تدعم المكتبة بشكل كامل مجموعة واسعة من خيارات التنسيق، مثل الخط واللون والمحاذاة، مما يسمح للمطورين بإنشاء مستندات ذات مظهر احترافي. بشكل عام، يعد Aspose.PDF for C++ واحدًا من أفضل المكتبات للعمل مع مستندات PDF في تطبيقات C++.
البدء باستخدام Aspose.PDF لـ C++
الطريقة الموصى بها لتثبيت Aspose.PDF لـ C++ هي استخدام NuGet. الرجاء استخدام الأمر التالي للتثبيت السلس. s
قم بتثبيت Aspose.PDF لـ C++ عبر NuGet
NuGet\Install-Package Aspose.PDF -prerelease
يمكنك أيضًا تنزيله مباشرة من صفحة منتج Aspose PDF.
إنشاء ملفات PDF وتحريرها عبر C++ API
يحتوي Aspose.PDF for C++ على دعم كامل لإنشاء مستندات PDF وقراءتها وتعديلها داخل تطبيقات C++ دون الحاجة إلى تثبيت أي برنامج آخر على جهاز المستخدم. توفر المكتبة طرقًا بسيطة وبديهية لإنشاء ملفات PDF، مما يسهل على المطورين إضافة الصفحات وإزالتها وإضافة النصوص والصور والعناصر الأخرى إلى مستند جديد. قدمت المكتبة أيضًا طرقًا متنوعة لفتح مستندات PDF الموجودة مثل فتح المستندات عن طريق تحديد اسم ملف، وفتح مستند من الدفق، وفتح مستند مشفر، وفتح مستند من مخزن مؤقت للذاكرة، والمزيد.
إنشاء ملفات PDF عبر C++ API
void CreatePDF() {
// String for path name.
String _dataDir("C:\\Samples\\");
// String for file name.
String filename("sample-new.pdf");
// Initialize document object
auto document = MakeObject();
// Add page
auto page = document->get_Pages()->Add();
// Add text to new page
auto textFragment = MakeObject(u"Hello World!");
page->get_Paragraphs()->Add(textFragment);
// Save updated PDF
String outputFileName = _dataDir + filename;
document->Save(outputFileName);
}
كيفية تأمين ملفات PDF عبر C++ API؟
يوفر Aspose.PDF لـ C++ العديد من الميزات المهمة لتأمين مستندات PDF داخل تطبيقات C++. وهو يدعم حماية المعلومات الحساسة داخل ملفات PDF عن طريق تطبيق كلمات المرور وكذلك باستخدام التوقيعات الرقمية. من الممكن أيضًا تغيير كلمة المرور الخاصة بملف PDF موجود وكذلك تحديد ما إذا كان ملف PDF المصدر محميًا بكلمة مرور. تسمح المكتبة أيضًا بتشفير وفك تشفير مستندات PDF باستخدام سطرين فقط من التعليمات البرمجية. يمكنك تعيين امتيازات مثل منع المستخدمين من تغيير محتوى المستند واستخراج الصورة أو النص من ملف PDF والسماح فقط بقراءة الشاشة وما إلى ذلك.
كيفية تعيين امتيازات ملف PDF عبر C++ API
void SecuringAndSigning::SetPrivilegesOnExistingPDF() {
// String for path name.
String _dataDir("C:\\Samples\\");
// Load a source PDF file
auto document = MakeObject(_dataDir + u"input.pdf");
// Instantiate Document Privileges object
// Apply restrictions on all privileges
auto documentPrivilege = DocumentPrivilege::get_ForbidAll();
// Only allow screen reading
documentPrivilege->set_AllowScreenReaders(true);
// Encrypt the file with User and Owner password.
// Need to set the password, so that once the user views the file with user password,
// Only screen reading option is enabled
document->Encrypt(u"user", u"owner", documentPrivilege, CryptoAlgorithm::AESx128, false);
// Save updated document
document->Save(_dataDir + u"SetPrivileges_out.pdf");
}
تحويل مستندات PDF عبر C++ API
يُسهل Aspose.PDF for C++ لمطوري البرامج تحويل مستندات PDF بسهولة إلى العديد من تنسيقات الملفات المدعومة الأخرى داخل تطبيقات C++ الخاصة بهم. قدمت المكتبة الدعم لتحويل ملفات PDF إلى العديد من التنسيقات الشائعة، بالإضافة إلى التحويل من التنسيقات الأخرى إلى PDF. يمكنك تحويل PDF إلى مستندات Word وعروض PowerPoint التقديمية وMicrosoft Excel (XLSX وODS وCSV وSpreadSheetML) وEPUB وXPS وPostscript والنص وPDF/A والعديد من تنسيقات الملفات الأخرى. تتضمن المكتبة أيضًا دعمًا قويًا لتحويل الصور إلى PDF بالإضافة إلى تحويل صفحات PDF كصور بتنسيق JPEG وPNG وتنسيقات أخرى.
تحويل PDF إلى XLS في C++
void ConvertPDFtoExcel()
{
std::clog << __func__ << ": Start" << std::endl;
// String for path name
String _dataDir("C:\\Samples\\Conversion\\");
// String for file name
String infilename("sample.pdf");
String outfilename("PDFToExcel.xls");
// Open document
auto document = MakeObject(_dataDir + infilename);
try {
// Save the output in XLS format
document->Save(_dataDir + outfilename, SaveFormat::Excel);
}
catch (Exception ex) {
std::cerr << ex->get_Message();
}
std::clog << __func__ << ": Finish" << std::endl;
}
تحسين مستندات PDF عبر C++ API
يوفر Aspose.PDF for C++ API الدعم الكامل لتحسين مستندات PDF داخل تطبيقات C++. يتعلق تحسين PDF في الغالب بتقليل حجم ملفات PDF لتحسين سرعة التحميل. تستخدم المكتبة تقنيات مختلفة لتحسين المستندات مثل تقليص الصفحة أو ضغط جميع الصور، وإعادة استخدام محتوى الصفحة، ودمج التدفقات المكررة، وإلغاء تضمين الخطوط، وإزالة الكائنات غير المستخدمة وحقول النماذج، وإزالة التعليقات التوضيحية وما إلى ذلك. علاوة على ذلك، فهو يدعم أيضًا تحسين محتوى مستند PDF الخاص بك للحصول على تصنيف أفضل في محركات البحث.
كيفية ضغط الصور في ملف PDF عبر C++؟
void CompressImage() {
// String for path name
String _dataDir("C:\\Samples\\");
// String for input file name
String infilename("ShrinkDocument.pdf");
String outfilename("ShrinkDocument_out.pdf");
// Open document
auto document = MakeObject(_dataDir + infilename);
// Initialize OptimizationOptions
auto optimizationOptions = MakeObject();
// Set CompressImages option
optimizationOptions->get_ImageCompressionOptions()->set_CompressImages(true);
// Set ImageQuality option
optimizationOptions->get_ImageCompressionOptions()->set_ImageQuality(50);
// Optimize PDF document using OptimizationOptions
document->OptimizeResources(optimizationOptions);
// Save updated document
document->Save(_dataDir + outfilename);
}