می توانید فایل های XPS را به راحتی ایجاد، ویرایش یا دستکاری کنید. علاوه بر این، می توانید محتویات و موقعیت آنها را مطابق با نیاز خود کنترل کنید. میتوانید با استفاده از زبان C++ یک تصویر یا متن را در فایلهای XPS به صورت برنامهنویسی وارد کنید. اجازه دهید این ویژگی را در موضوعات زیر به تفصیل بررسی کنیم:
- کار با محتوای متن یا تصویر در فایل های XPS - نصب API
- با استفاده از C++ متن را در فایل XPS اضافه کنید
- با استفاده از Unicode String در C++، متن را در فایل XPS اضافه کنید
- درج تصویر در XPS Document با استفاده از C++
- درج تصویر کاشی شده در فایل XPS با استفاده از C++
کار با محتوای متن یا تصویر در فایل های XPS - نصب API
می توانید محتوای متن یا تصویر را به فایل های XPS در برنامه های ++C اضافه کنید. شما نیازی به در نظر گرفتن جزئیات جزئی در مورد فرمت فایل سند ندارید زیرا تعداد کمی از تماس های API می توانند این کار را مطابق با نیاز شما انجام دهند. Aspose.Page for C++ API را می توان به راحتی با دانلود آن از New Releases یا با دستور نصب زیر NuGet پیکربندی کرد:
PM> Install-Package Aspose.Page.Cpp
با استفاده از C++ متن را در فایل XPS اضافه کنید
متن را می توان در فایل XPS برای برچسب زدن برخی از نقاشی ها، تصویرها یا مطالب دیگر استفاده کرد. به همین ترتیب، می توانید از متن به عنوان واترمارک برای فایل نیز استفاده کنید. برای افزودن یا درج متن در فایل های XPS باید مراحل زیر را دنبال کنید:
- ایجاد یک سند XPS جدید
- یک قلم مو برای افزودن متن ایجاد کنید
- گلیف را به سند اضافه کنید
- سند خروجی XPS را ذخیره کنید
کد زیر نحوه اضافه کردن متن به فایل XPS با استفاده از C++ را نشان می دهد:
// سند XPS جدید ایجاد کنید
auto doc = System::MakeObject<XpsDocument>();
//یک قلم مو ایجاد کنید
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, 300.f, 450.f, u"Hello World!");
glyphs->set_Fill(textFill);
// سند XPS حاصل را ذخیره کنید
doc->Save(RunExamples::outDir() + u"AddText_out.xps");
با استفاده از Unicode String در C++، متن را در فایل XPS اضافه کنید
ما یاد گرفته ایم که یک رشته متن ساده را به یک فایل XPS اضافه کنیم. اجازه دهید ادامه دهیم و سناریویی را در نظر بگیریم که در آن باید رشته یونیکد را در فایلهای XPS اضافه کنید. برای افزودن متن در فایل XPS بر اساس رشته یونیکد باید مراحل زیر را دنبال کنید:
- سند XPS جدید ایجاد کنید
- اضافه کردن متن یونیکد
- سند خروجی XPS را ذخیره کنید
کد زیر بر اساس این مراحل است که نحوه اضافه کردن متن به فایل XPS را با استفاده از رشته Unicode در زبان C++ نشان می دهد:
// سند XPS جدید ایجاد کنید
auto doc = System::MakeObject<XpsDocument>();
// اضافه کردن متن
System::SharedPtr<XpsSolidColorBrush> textFill = doc->CreateSolidColorBrush(System::Drawing::Color::get_Black());
System::SharedPtr<XpsGlyphs> glyphs = doc->AddGlyphs(u"Arial", 20.0f, System::Drawing::FontStyle::Regular, 400.f, 200.f, u"++C. rof SPX.esopsA");
glyphs->set_BidiLevel(1);
glyphs->set_Fill(textFill);
// سند XPS حاصل را ذخیره کنید
doc->Save(RunExamples::outDir() + u"AddText_unicode.xps");
درج تصویر در XPS Document با استفاده از C++
تصاویر میتوانند حاوی اطلاعات بصری زیادی باشند، بنابراین API از درج تصویر در فایل XPS در برنامههای C++ شما پشتیبانی میکند. Aspose.Page for C++ API به شما امکان می دهد با مراحل زیر تصاویر یا تصاویر را در فایل های XPS قرار دهید:
- یک سند XPS جدید ایجاد کنید
- بارگذاری تصویر ورودی
- ایجاد یک ماتریس و ImageBrush
- فایل XPS خروجی را ذخیره کنید
مثال کد زیر نحوه درج تصویر در سند XPS با C++ را نشان می دهد:
// سند XPS جدید ایجاد کنید
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// تصویر اضافه کن
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.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(RunExamples::dataDir() + u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 258.24f, 56.64f), System::Drawing::RectangleF(50.f, 20.f, 193.68f, 42.48f)));
// سند XPS حاصل را ذخیره کنید
doc->Save(RunExamples::outDir() + u"AddImage_out.xps");
درج تصویر کاشی شده در فایل XPS با استفاده از C++
ما اولین مرحله اضافه کردن یا درج تصویر در یک فایل XPS را یاد گرفتیم، اجازه دهید با مثال مرتبط درج تصویر کاشی شده در سند XPS ادامه دهیم. در زیر مراحل اضافه کردن تصویر کاشی شده در فایل XPS آمده است:
- سند XPS جدید ایجاد کنید
- مستطیل پر شده ImageBrush را اضافه کنید
- تصویر کاشی شده را اضافه کنید
- سند XPS حاصل را ذخیره کنید
قطعه کد زیر نحوه افزودن تصویر کاشی شده به فایل XPS را با استفاده از C++ نشان می دهد:
// سند XPS جدید ایجاد کنید
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// تصویر کاشی
// مستطیل پر شده با ImageBrush در سمت راست بالا پایین
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,160 L 228,160 228,305 10,305"));
path->set_Fill(doc->CreateImageBrush(RunExamples::dataDir() + u"R08LN_NN.jpg", System::Drawing::RectangleF(0.f, 0.f, 128.f, 96.f), System::Drawing::RectangleF(0.f, 0.f, 64.f, 48.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsImageBrush>(path->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
path->get_Fill()->set_Opacity(0.5f);
// سند XPS حاصل را ذخیره کنید
doc->Save(RunExamples::outDir() + u"AddTiledImage_out.xps");
نتیجه
در این مقاله نحوه درج یا افزودن متن یا تصویر در فایل های XPS با استفاده از زبان C++ را یاد گرفتید. این ویژگی می تواند در سناریوهایی مانند زمانی که نیاز به اضافه کردن واترمارک در اسناد XPS دارید، یا اضافه کردن مقداری مهر مطابق با نیازتان مفید باشد. به همین ترتیب، بسیاری از ویژگی های هیجان انگیز دیگر برای فرمت فایل XPS پشتیبانی می شوند. میتوانید با مراجعه به اسناد API بیشتر بیاموزید، یا همچنین میتوانید در تالار گفتمان پشتیبانی رایگان با ما صحبت کنید. ما مشتاقانه منتظر تماس با شما هستیم!