
تحدد المستندات 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());
}

صورة لملف PDF الناتج الذي تم إنشاؤه بواسطة نموذج التعليمات البرمجية
تحويل الصفحات المحددة من مستندات 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());
}

صورة لملف PDF الناتج الذي تم إنشاؤه بواسطة نموذج التعليمات البرمجية
احصل على رخصة مجانية
يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مجاني مؤقت.
استنتاج
في هذه المقالة ، تعلمت كيفية تحويل مستندات XPS و OXPS إلى تنسيق PDF باستخدام C ++. بالإضافة إلى ذلك ، لقد رأيت كيفية تحويل الصفحات المحددة من مستندات XPS / OXPS إلى تنسيق PDF باستخدام Aspose.Page لواجهة برمجة تطبيقات C ++. توفر واجهة برمجة التطبيقات العديد من الميزات الإضافية للعمل مع مستندات XPS التي يمكنك استكشافها بالتفصيل من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.