اسناد PS EPS XPS را در C++ ایجاد کنید

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 &#xa9; 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");

خروجی

ویرایش PS EPS XPS Document C++

یک سند 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++ اطلاعات بیشتری کسب کنید.