تحدد المستندات XPS و OXPS معلومات التخطيط والمظهر والطباعة. تشبه هذه المستندات ملفات PDF. نظرًا لارتفاع شعبية تنسيق PDF ، فقد تجد نفسك في مواقف تحتاج فيها إلى تحويل مستندات XPS و OXPS إلى تنسيق PDF. تحقيقًا لهذه الغاية ، ستعلمك هذه المقالة كيفية تحويل مستندات XPS و OXPS إلى تنسيق PDF باستخدام C ++.
- واجهة برمجة تطبيقات C ++ لتحويل مستندات XPS و OXPS إلى تنسيق PDF
- تحويل مستندات XPS / OXPS إلى تنسيق PDF
- تحويل الصفحات المحددة من مستندات XPS / OXPS إلى تنسيق PDF
واجهة برمجة تطبيقات C ++ لتحويل مستندات XPS و OXPS إلى تنسيق PDF
Aspose.Page for C ++ هي مكتبة C ++ لتقديم ومعالجة ملفات XPS و PostScript. يتيح لك إنشاء مستندات XPS وقراءتها وتحديثها. علاوة على ذلك ، تدعم واجهة برمجة التطبيقات (API) تحويل مستندات XPS و OXPS إلى تنسيق PDF. يمكنك إما تثبيت API من خلال NuGet أو تنزيلها مباشرة من قسم التنزيلات.
PM> Install-Package Aspose.Page.Cpp
تحويل مستندات XPS / OXPS إلى تنسيق PDF
فيما يلي خطوات تحويل مستندات XPS و OXPS إلى تنسيق PDF.
- بدء دفق مع ملف PDF الناتج.
- ابدأ دفقًا بملف XPS / OXPS المصدر.
- قم بإنشاء مثيل لفئة XpsDocument باستخدام دفق XPS / OXPS.
- قم بإنشاء مثيل للفئة PdfSaveOptions.
- حدد الخيارات مثل JpegQualityLevel و ImageCompression.
- احفظ ملف PDF الناتج باستخدام XpsDocument-> Save (System :: SharedPtr الجهاز ، النظام :: SharedPtr خيارات) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل مستندات XPS / OXPS إلى تنسيق PDF باستخدام C ++.
// ملف إلاخراج
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(u"OutputDirectory\\XPStoPDF.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// مسح الموارد تحت بيان "استخدام"
System::Details::DisposeGuard<1> __dispose_guard_1({ pdfStream });
// ------------------------------------------
try {
// مصدر الملف
System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(u"SourceDirectory\\sample.xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// مسح الموارد تحت بيان "استخدام"
System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream });
// ------------------------------------------
try
{
// قم بتحميل مستند XPS من الدفق
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
// أو تحميل مستند XPS مباشرة من الملف. لا حاجة إذن إلى xpsStream.
// XpsDocument document = new XpsDocument (inputFileName، new XpsLoadOptions()) ؛
// تهيئة كائن PdfSaveOptions بالمعلمات الضرورية.
System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = [&] {
auto tmp_0 = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
tmp_0->set_JpegQualityLevel(100);
tmp_0->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
tmp_0->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
return tmp_0;
}();
// إنشاء جهاز عرض لتنسيق PDF
System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfDevice> device = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfDevice>(pdfStream);
// احفظ ملف PDF
document->Save(device, options);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch (...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
تحويل الصفحات المحددة من مستندات XPS / OXPS إلى تنسيق PDF
أثناء تحويل ملفات XPS و OXPS إلى تنسيق PDF ، يمكنك أيضًا تحديد الصفحات التي تريد تحويلها. سيحتوي ملف PDF الناتج على الصفحات التي تحددها فقط. لتحقيق ذلك ، يرجى اتباع الخطوات الواردة أدناه.
- بدء دفق مع ملف PDF الناتج.
- ابدأ دفقًا بملف XPS / OXPS المصدر.
- قم بإنشاء مثيل لفئة XpsDocument باستخدام دفق XPS / OXPS.
- قم بإنشاء مثيل للفئة PdfSaveOptions.
- حدد الخيارات مثل JpegQualityLevel و ImageCompression.
- حدد الصفحات التي تريد تحويلها باستخدام PdfSaveOptions-> setPageNumbers (System :: ArrayPtr قيمة) طريقة.
- احفظ ملف PDF الناتج باستخدام XpsDocument-> Save (System :: SharedPtr الجهاز ، النظام :: SharedPtr خيارات) طريقة.
يوضح نموذج التعليمات البرمجية التالي كيفية تحويل الصفحات المحددة من مستندات XPS و OXPS إلى تنسيق PDF باستخدام C ++.
// ملف إلاخراج
System::SharedPtr<System::IO::Stream> pdfStream = System::IO::File::Open(u"OutputDirectory\\XPStoPDF.pdf", System::IO::FileMode::Create, System::IO::FileAccess::Write);
// مسح الموارد تحت بيان "استخدام"
System::Details::DisposeGuard<1> __dispose_guard_1({ pdfStream });
// ------------------------------------------
try {
// مصدر الملف
System::SharedPtr<System::IO::Stream> xpsStream = System::IO::File::Open(u"SourceDirectory\\sample.xps", System::IO::FileMode::Open, System::IO::FileAccess::Read);
// مسح الموارد تحت بيان "استخدام"
System::Details::DisposeGuard<1> __dispose_guard_0({ xpsStream });
// ------------------------------------------
try
{
// قم بتحميل مستند XPS من الدفق
System::SharedPtr<XpsDocument> document = System::MakeObject<XpsDocument>(xpsStream, System::MakeObject<XpsLoadOptions>());
// أو تحميل مستند XPS مباشرة من الملف. لا حاجة إذن إلى xpsStream.
// XpsDocument document = new XpsDocument (inputFileName، new XpsLoadOptions()) ؛
// تهيئة كائن PdfSaveOptions بالمعلمات الضرورية.
System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions> options = [&] {
auto tmp_0 = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfSaveOptions>();
tmp_0->set_JpegQualityLevel(100);
tmp_0->set_ImageCompression(Aspose::Page::XPS::Presentation::Pdf::PdfImageCompression::Jpeg);
tmp_0->set_TextCompression(Aspose::Page::XPS::Presentation::Pdf::PdfTextCompression::Flate);
tmp_0->set_PageNumbers(System::MakeArray<int32_t>({ 1, 3 }));
return tmp_0;
}();
// إنشاء جهاز عرض لتنسيق PDF
System::SharedPtr<Aspose::Page::XPS::Presentation::Pdf::PdfDevice> device = System::MakeObject<Aspose::Page::XPS::Presentation::Pdf::PdfDevice>(pdfStream);
// احفظ ملف PDF
document->Save(device, options);
}
catch (...)
{
__dispose_guard_0.SetCurrentException(std::current_exception());
}
}
catch (...)
{
__dispose_guard_1.SetCurrentException(std::current_exception());
}
احصل على رخصة مجانية
يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مجاني مؤقت.
استنتاج
في هذه المقالة ، تعلمت كيفية تحويل مستندات XPS و OXPS إلى تنسيق PDF باستخدام C ++. بالإضافة إلى ذلك ، لقد رأيت كيفية تحويل الصفحات المحددة من مستندات XPS / OXPS إلى تنسيق PDF باستخدام Aspose.Page لواجهة برمجة تطبيقات C ++. توفر واجهة برمجة التطبيقات العديد من الميزات الإضافية للعمل مع مستندات XPS التي يمكنك استكشافها بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.