Aspose.Page برای C++ یک افزودنی ارزشمند به Aspose.Page Product Family است که برای دستکاری اسناد PostScript (PS/EPS) و XPS با استفاده از C++ توسعه یافته است. Aspose.Page برای C++ یک کتابخانه بومی ++C برای ایجاد فایلهای XPS جدید و همچنین تغییر و تبدیل اسناد پست اسکریپت و XPS موجود به صورت برنامهنویسی است. API همچنین به شما امکان میدهد با صفحات و عناصری مانند بومها و گلیفها در اسناد XPS کار کنید. علاوه بر این، از تبدیل اسناد به PDF و تصاویر شطرنجی پشتیبانی می کند. این مقاله نحوه انجام عملیات زیر مربوط به اسناد XPS را با استفاده از Aspose.Page برای C++ نشان می دهد.
- یک سند XPS جدید در C++ ایجاد کنید
- یک سند XPS موجود در C++ را ویرایش کنید
- یک صفحه یا سند را به یک سند XPS در C++ اضافه کنید
نصب XPS API برای C++
Aspose.Page برای C++ در NuGet میزبانی میشود و همچنین بهعنوان [باینری] قابل دانلود در دسترس است. بسته قابل دانلود همچنین حاوی یک برنامه کنسول C++ است که حاوی کد منبع نمونه های اولیه است.
یک سند XPS در C++ ایجاد کنید
در زیر مراحل ساده ایجاد یک سند XPS حاوی متن و تصویر با استفاده از Aspose.Page برای C++ آمده است.
- یک شی از کلاس XpsDocument ایجاد کنید.
- متن و تصویر را با استفاده از اشیاء XpsGlyphs و XpsPath به ترتیب اضافه کنید.
- سند را با استفاده از روش Save ذخیره کنید.
نمونه کد زیر نحوه ایجاد یک سند 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 به عناصر سند دسترسی پیدا کنید.
- سند به روز شده را با استفاده از روش Save ذخیره کنید.
نمونه کد زیر نحوه ویرایش یک سند 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 برای انتخاب سند فعال برای پردازش استفاده کنید.
- متن یا تصویر را به سند اضافه کنید.
- سند را ذخیره کنید.
نمونه کد زیر نحوه افزودن صفحات و اسناد اضافی را با استفاده از C++ به XPS نشان می دهد.
// سند جدید (1 سند ثابت با 1 صفحه اندازه پیش فرض)
auto doc = System::MakeObject<XpsDocument>();
// صفحه دوم را به سند اول اضافه کنید و فعال کنید
doc->AddPage();
// افزودن سند دوم با 1 صفحه (صفحه سوم در فایل)
doc->AddDocument(false);
// صفحه دوم سند 1 هنوز فعال است
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++ بیشتر بدانید
با استفاده از مستندات و نمونههای کد منبع موجود در GitHub میتوانید درباره Aspose.Page برای C++ اطلاعات بیشتری کسب کنید.