يعد Aspose.Page for C++ إضافة قيمة إلى Aspose.Page Product Family والتي تم تطويرها لمعالجة مستندات PostScript (PS / EPS) و XPS باستخدام C++. Aspose.Page لـ C++ هي مكتبة C++ أصلية لإنشاء ملفات XPS جديدة بالإضافة إلى تعديل وتحويل مستندات PostScript و XPS الحالية برمجيًا. تتيح لك واجهة برمجة التطبيقات أيضًا العمل مع الصفحات والعناصر مثل اللوحات والحروف الرسومية في مستندات XPS. علاوة على ذلك ، فهو يدعم تحويل المستندات إلى PDF والصور النقطية. توضح هذه المقالة كيفية إجراء العمليات التالية المتعلقة بمستندات XPS باستخدام Aspose.Page لـ C++.
- قم بإنشاء مستند XPS جديد في C++
- قم بتحرير مستند XPS موجود في C++
- أضف صفحة أو مستندًا إلى مستند XPS في C++
تثبيت XPS API لـ C++
Aspose.Page for C++ مستضاف على NuGet بالإضافة إلى أنه متاح للتحميل ثنائيات. تحتوي الحزمة القابلة للتنزيل أيضًا على تطبيق وحدة تحكم C++ يحتوي على الكود المصدري للأمثلة الأساسية.
قم بإنشاء مستند XPS في C++
فيما يلي الخطوات البسيطة لإنشاء مستند XPS يحتوي على نص وصورة باستخدام Aspose.Page لـ C++.
- قم بإنشاء كائن من فئة XpsDocument.
- أضف نصًا وصورة باستخدام كائنات XpsGlyphs و XpsPath على التوالي.
- احفظ المستند باستخدام طريقة حفظ.
يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء مستند XPS في C++.
// قم بإنشاء كائن XpsDocument جديد
auto doc = System::MakeObject<XpsDocument>();
// إضافة صورة
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 450.24,0 0,150.64 -350.24,0 Z"));
// قم بإنشاء مصفوفة يمكن استخدامها لتحديد المواقع المناسبة.
path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
// إنشاء فرشاة الصورة
path->set_Fill(doc->CreateImageBrush(u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 450.24f, 150.64f), System::Drawing::RectangleF(50.f, 20.f, 450.68f, 150.48f)));
// نص كتذييل
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 18.0f, System::Drawing::FontStyle::Regular, 40.f, 1015.f, u"Copyright © 2006 QualityLogic, Inc.");
glyphs->set_Fill(textFill);
glyphs = doc->AddGlyphs(u"Arial", 15.0f, System::Drawing::FontStyle::Regular, 475.f, 1003.f, u"For information on QualityLogic XPS test products,");
glyphs->set_Fill(textFill);
// حفظ باسم XPS
doc->Save(u"Create-XPS.xps");
انتاج |
قم بتحرير مستند XPS في C++
فيما يلي خطوات تحرير مستند XPS موجود:
- أنشئ كائنًا من فئة XpsDocument وقم بتهيئته باستخدام مسار مستند XPS.
- قم بالوصول إلى عناصر المستند باستخدام كائن XpsDocument.
- احفظ المستند المحدث باستخدام طريقة حفظ.
يوضح نموذج التعليمات البرمجية التالي كيفية تحرير مستند XPS موجود في C++.
// قم بتحميل مستند XPS
auto doc = System::MakeObject<XpsDocument>(u"Created-XPS.xps");
// إضافة صفحة فارغة في نهاية قائمة الصفحات
doc->AddPage();
// أدخل صفحة فارغة في بداية قائمة الصفحات
doc->InsertPage(1, true);
// احفظ ملف XPS
doc->Save(u"Updated-XPS.xps");
أضف صفحة ومستند إلى XPS في C++
يتيح لك Aspose.Page لـ C++ أيضًا إضافة صفحات بالإضافة إلى مستندات متعددة في مستند XPS. فيما يلي خطوات إنشاء مستند XPS جديد وإضافة صفحة ووثيقة إضافية.
- قم بإنشاء كائن من فئة XpsDocument.
- استخدم أسلوب AddPage و AddDocument لإضافة صفحة ومستند على التوالي.
- استخدم طريقة SelectActiveDocument لتحديد المستند النشط للمعالجة.
- أضف نصًا أو صورة إلى المستند.
- احفظ المستند.
يوضح نموذج التعليمات البرمجية التالي كيفية إضافة صفحات ومستندات إضافية إلى XPS باستخدام C++.
// مستند جديد (مستند واحد ثابت بصفحة بحجم افتراضي واحد)
auto doc = System::MakeObject<XpsDocument>();
// أضف الصفحة الثانية في المستند الأول وقم بتعيينها نشطة
doc->AddPage();
// أضف المستند الثاني بصفحة واحدة (الصفحة الثالثة في الملف)
doc->AddDocument(false);
// لا تزال الصفحة الثانية من المستند الأول نشطة
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Page 2 (Document 1),");
glyphs->set_Fill(textFill);
// تنشيط المستند الثاني
doc->SelectActiveDocument(2);
glyphs = doc->AddGlyphs(u"Arial", 12.0f, System::Drawing::FontStyle::Regular, 200.f, 500.f, u"Text on Document 2 (Page #3 in file),");
glyphs->set_Fill(textFill);
// احفظ ملف XPS
doc->Save(u"Create-XPS.xps");
تعرف على المزيد حول Aspose.Page لـ C++
يمكنك معرفة المزيد حول Aspose.Page لـ C++ باستخدام التوثيق و أمثلة التعليمات البرمجية المصدر المتوفرة على GitHub.