مدیریت اشیاء جوهر ارائه در .NET
مقدمه
PowerPoint ویژگی جوهر (Ink) را فراهم میکند که امکان رسم خطوط آزادانه را به شما میدهد. میتوانید از جوهر برای برجستهسازی اشیاء دیگر، نمایش اتصالات و فرآیندها و جلب توجه به موارد خاص در یک اسلاید استفاده کنید.
فضای نام Aspose.Slides.Ink شامل کلاسها و اینترفیسهای مورد نیاز برای کار با اشیاء جوهر است. برای مثال، اینترفیس IInk نمایانگر یک شیء جوهر روی اسلاید است.
تفاوت بین اشیاء عادی و اشیاء جوهر
اشیاء در یک اسلاید PowerPoint معمولاً توسط اشیاء شکل (shape) نمایان میشوند. در سادهترین شکل، یک shape یک ظرف است که ناحیه خود (قاب) را به همراه ویژگیهایی مانند اندازه ظرف، شکل و پسزمینه تعریف میکند. برای اطلاعات بیشتر به قالببندی چیدمان شکل مراجعه کنید.
اما هنگامی که PowerPoint یک شیء جوهر را مدیریت میکند، تمام ویژگیهای قاب شیء (مستثنی از اندازه) نادیده گرفته میشوند. اندازه ناحیهٔ ظرف توسط ویژگیهای استاندارد IShape.Width و IShape.Height تعیین میشود:

ردهای جوهر
یک رد جوهر یک عنصر پایهای است که مسیر قلم را هنگام نوشتن جوهر دیجیتال ثبت میکند. یک رد، دنبالهای از نقاط متصل را ذخیره میکند.
سادهترین روش کدگذاری، مختصات X و Y هر نقطه نمونه را مشخص میکند. وقتی تمام نقاط متصل رندر شوند، تصویری شبیه به این تولید میشود:

ویژگیهای قلممو برای رسم
قلممو برای رسم خطوطی که نقاط یک رد جوهر را به هم متصل میکند، استفاده میشود. قلممو دارای رنگ و اندازهٔ اختصاصی خود است که توسط ویژگیهای IInkBrush.Color و IInkBrush.Size تعریف میشود.
تنظیم رنگ قلممو جوهر
این کد C# نشان میدهد که چگونه رنگ یک قلممو جوهر را تنظیم کنید:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Ink;
using var presentation = new Presentation("pres.pptx");
var ink = (IInk)presentation.Slides[0].Shapes[0];
var brush = ink.Traces[0].Brush;
brush.Color = Color.Red;
تنظیم اندازه قلممو جوهر
این کد C# نشان میدهد که چگونه اندازه یک قلممو جوهر را تنظیم کنید:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Ink;
using var presentation = new Presentation("pres.pptx");
var ink = (IInk)presentation.Slides[0].Shapes[0];
var brush = ink.Traces[0].Brush;
brush.Size = new SizeF(5f, 10f);
بهطور کلی، عرض و ارتفاع یک قلممو با هم برابر نیستند، بنابراین PowerPoint اندازهٔ قلممو را نمایش نمیدهد (بخش مربوطه به رنگ خاکستری نشان داده میشود). وقتی عرض و ارتفاع قلممو برابر شوند، PowerPoint اندازهٔ آن را به این شکل نمایش میدهد:

برای وضوح بیشتر، ارتفاع شیء جوهر را افزایش میدهیم و ابعاد مهم را بازبینی میکنیم:

ظرف (قاب) اندازهٔ قلمموها را در نظر نمیگیرد—همیشه فرض میکند ضخامت خط صفر است (به تصویر قبلی مراجعه کنید).
بنابراین برای تعیین ناحیهٔ مشاهدهپذیر کل شیء جوهر، باید اندازهٔ قلمموهای ردهای آن در نظر گرفته شود. در اینجا، شیء هدف (رد متن دستنویس) به اندازهٔ ظرف (قاب) مقیاس شده است. وقتی اندازهٔ ظرف تغییر میکند، اندازهٔ قلممو ثابت میماند و برعکس.

PowerPoint رفتار مشابهی را برای اشیاء متنی اعمال میکند:

کنترل ظاهر جوهر هنگام استخراج و رندرینگ
Aspose.Slides اینترفیس IInkOptions را برای کنترل نحوهٔ نمایش اشیاء جوهر در خروجی استخراجشده یا رندر شده فراهم میکند. میتوانید از ویژگیهای آن برای مخفیکردن کامل جوهر یا تغییر نحوهٔ تفسیر عملیات ماسک قلممو جوهر استفاده کنید.
گزینههای جوهر از طریق گزینههای استخراج یا رندرینگ برای چندین نوع خروجی در دسترس هستند:
| خروجی | ویژگی گزینههای جوهر |
|---|---|
PdfOptions.InkOptions |
|
| HTML | HtmlOptions.InkOptions |
| SVG | SVGOptions.InkOptions |
| TIFF | TiffOptions.InkOptions |
| تصویر اسلاید | RenderingOptions.InkOptions |
دو تنظیم زیر از طریق این ویژگیها در دسترس هستند:
HideInkتعیین میکند که آیا اشیاء جوهر در خروجی گنجانده شوند یا نه. مقدار پیشفرض آنfalseاست.InterpretMaskOpAsOpacityتعیین میکند که آیا عملیات ماسک به عنوان شفافیت تفسیر شود یا نه. مقدار پیشفرضtrueاست؛ برای استفاده از عملیات ROP مقدار را بهfalseتغییر دهید.
پنهانسازی اشیاء جوهر در خروجی PDF
بهصورت پیشفرض، اشیاء جوهر هنگام استخراج قابل مشاهدهاند. وقتی به خروجی بدون حاشیهنویسی یا محتوای جوهر نیاز دارید، ویژگی IInkOptions.HideInk را به true تنظیم کنید.
مثال C# زیر یک ارائه را به PDF صادر میکند در حالی که تمام اشیاء جوهر مخفی میشوند:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var pdfOptions = new PdfOptions();
pdfOptions.InkOptions.HideInk = true;
presentation.Save("presentation_without_ink.pdf", SaveFormat.Pdf, pdfOptions);
پنهانسازی اشیاء جوهر هنگام رندر اسلاید به عنوان تصویر
برای پنهانکردن اشیاء جوهر هنگام رندر اسلایدها به صورت تصاویر بیتمپ، RenderingOptions.InkOptions را پیکربندی کنید و گزینههای رندر را به متد ISlide.GetImage پاس دهید.
مثال C# زیر اسلاید اول را به تصویر PNG بدون اشیاء جوهر رندر میکند:
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var renderingOptions = new RenderingOptions();
renderingOptions.InkOptions.HideInk = true;
using var image = presentation.Slides[0].GetImage(renderingOptions);
image.Save("slide_without_ink.png", ImageFormat.Png);
کنترل رندر ماسک جوهر
ویژگی IInkOptions.InterpretMaskOpAsOpacity نحوهٔ تفسیر عملیات ماسک را هنگام رندر قلمموهای جوهر کنترل میکند. مقدار پیشفرض true است که از شفافیت استفاده میکند. برای استفاده از عملیات ROP این ویژگی را به false تنظیم کنید.
مثال C# زیر یک اسلاید را به SVG صادر میکند و برای عملیات ماسک جوهر از رندر مبتنی بر ROP استفاده میکند:
using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;
using var presentation = new Presentation("presentation.pptx");
var svgOptions = new SVGOptions();
svgOptions.InkOptions.InterpretMaskOpAsOpacity = false;
using var stream = File.Create("slide.svg");
presentation.Slides[0].WriteAsSvg(stream, svgOptions);
همین تنظیم میتواند از طریق TiffOptions.InkOptions هنگام صادرات یک ارائه یا رندر اسلاید به TIFF اعمال شود.
انتخاب اینکه جوهر مخفی یا حفظ شود
هنگامی که فایل استخراجشده باید نسخهٔ پاکی از ارائه حاشیهدار باشد (مثلاً نسخهٔ نهایی برای توزیع بدون علامتگذاریهای بازبینی)، ویژگی IInkOptions.HideInk را به true تنظیم کنید.
در صورتی که حاشیهنویسیهای جوهر بخشی از محتوای موردنظر باشد (مانند نظرات بازبینی، یادداشتهای دستنویس، برجستهسازیها یا نقاشیها)، مقدار پیشفرض false را نگه دارید. این اجازه میدهد برنامهها خروجیهای بازبینی و نهایی را از یک ارائه بدون تغییر اشیاء جوهر منبع تولید کنند.
سوالات متداول
آیا میتوانم رنگ یا اندازهٔ یک خط جوهر موجود را تغییر دهم؟
بله. رد را از IInk.Traces دریافت کنید، سپس قلمموهای آن را با IInkTrace.Brush تغییر دهید. میتوانید رنگ (IInkBrush.Color) و اندازه (IInkBrush.Size) قلممو را تنظیم کنید.
آیا مخفیکردن جوهر منبع ارائه را تغییر میدهد؟
خیر. ویژگی IInkOptions.HideInk تنها بر نتیجهٔ رندر یا استخراج تأثیر میگذارد؛ اشیاء جوهر در ارائه منبع حذف یا تغییر نمییابند.
کدام فرمتهای خروجی از گزینههای جوهر پشتیبانی میکنند؟
میتوانید گزینههای جوهر را برای PDF، HTML، SVG، TIFF و تصاویر بیتمپ اسلاید از طریق گزینههای استخراج یا رندرینگ مربوطه که در جدول بالا آمدهاند، پیکربندی کنید.
مطالعهٔ بیشتر
- برای آشنایی کلی با اشکال، به بخش PowerPoint Shapes مراجعه کنید.
- برای اطلاعات بیشتر درباره مقادیر مؤثر، به Shape Effective Properties نگاه کنید.
- برای جزئیات استخراج PDF، به Convert PPT and PPTX to PDF مراجعه کنید.
- برای جزئیات استخراج HTML، به Convert PowerPoint Presentations to HTML نگاه کنید.
- برای جزئیات استخراج SVG، به Render Presentation Slides as SVG Images مراجعه کنید.
- برای جزئیات استخراج TIFF، به Convert PowerPoint Presentations to TIFF نگاه کنید.
- برای جزئیات رندر اسلاید به تصویر، به Convert Presentation Slides to Images مراجعه کنید.