مدیریت اشیاء جوهر ارائه در پایتون

مقدمه

PowerPoint ویژگی جوهر را فراهم می‌کند که به شما امکان می‌دهد خطوط آزاد رسم کنید. جوهر می‌تواند برای برجسته‌سازی اشیاء دیگر، نشان دادن ارتباطات و فرآیندها و جلب توجه به موارد خاص در یک اسلاید استفاده شود.

aspose.slides.ink فضای‌نام حاوی کلاس‌های مورد نیاز برای کار با اشیاء جوهر است. برای مثال، کلاس Ink نمایانگر یک شیء جوهر در یک اسلاید است.

تفاوت بین اشیاء معمولی و اشیاء جوهر

اشیاء روی یک اسلاید PowerPoint معمولاً توسط اشیاء shape (شکل) نشان داده می‌شوند. در ساده‌ترین شکل، یک shape یک محفظه است که ناحیهٔ خود شیء (قاب آن) را همراه با ویژگی‌هایی مانند اندازهٔ محفظه، شکل و پس‌زمینه تعریف می‌کند. برای اطلاعات بیشتر، به Shape Layout Format مراجعه کنید.

اما وقتی PowerPoint یک شیء جوهر را مدیریت می‌کند، تمام ویژگی‌های قاب شیء (محفظه) به‌جز اندازهٔ آن را نادیده می‌گیرد. اندازهٔ ناحیهٔ محفظه توسط ویژگی‌های استاندارد Ink.width و Ink.height تعیین می‌شود:

ink_powerpoint1

ردیابی‌های جوهر

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

ساده‌ترین شکل کدگذاری، مختصات X و Y هر نقطهٔ نمونه را مشخص می‌کند. وقتی تمام نقاط متصل رندر شوند، تصویری مانند زیر تولید می‌شود:

ink_powerpoint2

ویژگی‌های قلم‌مو برای رسم

قلم‌مو برای رسم خطوطی که نقاط یک ردیابی جوهر را به هم وصل می‌کند، استفاده می‌شود. ویژگی‌های InkBrush.color و InkBrush.size رنگ و اندازهٔ آن را کنترل می‌کنند.

تنظیم رنگ قلم‌موی جوهر

این کد Python نشان می‌دهد چگونه رنگ یک قلم‌موی جوهر تنظیم شود:

import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation("pres.pptx") as presentation:
    ink = presentation.slides[0].shapes[0]
    brush = ink.traces[0].brush
    brush.color = draw.Color.red

تنظیم اندازه قلم‌موی جوهر

این کد Python نشان می‌دهد چگونه اندازهٔ یک قلم‌موی جوهر تنظیم شود:

import aspose.slides as slides
import aspose.pydrawing as draw

with slides.Presentation("pres.pptx") as presentation:
    ink = presentation.slides[0].shapes[0]
    brush = ink.traces[0].brush
    brush.size = draw.SizeF(5.0, 10.0)

به طور کلی، عرض و ارتفاع یک قلم‌مو یکسان نیستند، بنابراین PowerPoint اندازهٔ قلم‌مو را نمایش نمی‌دهد (بخش دادهٔ مربوطه خاکستری می‌شود). وقتی عرض و ارتفاع قلم‌مو یکسان باشند، PowerPoint اندازهٔ آن را به این شکل نمایش می‌دهد:

ink_powerpoint3

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

ink_powerpoint4

محفظه (قاب) اندازهٔ قلم‌موها را در نظر نمی‌گیرد—همیشه فرض می‌کند ضخامت خط صفر است (به تصویر قبلی مراجعه کنید).

بنابراین برای تعیین ناحیهٔ قابل مشاهدهٔ کل شیء جوهر، باید اندازهٔ قلم‌موهای ردیابی‌های آن مد نظر قرار گیرد. در اینجا، شیء هدف (ردیابی متن دست‌نویس) به اندازهٔ محفظه (قاب) مقیاس‌بندی شده است. وقتی اندازهٔ محفظه تغییر می‌کند، اندازهٔ قلم‌مو ثابت می‌ماند و بالعکس.

ink_powerpoint5

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

ink_powerpoint6

کنترل ظاهر جوهر هنگام خروجی‌گیری و رندرینگ

Aspose.Slides کلاس InkOptions را برای کنترل نحوهٔ نمایش اشیاء جوهر در خروجی یا رندر فراهم می‌کند. می‌توانید از ویژگی‌های آن برای پنهان کردن کامل جوهر یا تغییر نحوهٔ تفسیر عملیات ماسک قلم‌مو استفاده کنید.

گزینه‌های جوهر از طریق گزینه‌های خروجی یا رندر برای انواع خروجی زیر در دسترس هستند:

خروجی ویژگی گزینه‌های جوهر
PDF PdfOptions.ink_options
HTML HtmlOptions.ink_options
SVG SVGOptions.ink_options
TIFF TiffOptions.ink_options
تصویر اسلاید RenderingOptions.ink_options

دو تنظیم زیر از طریق این ویژگی‌ها در دسترس هستند:

  • InkOptions.hide_ink مشخص می‌کند که آیا اشیاء جوهر در خروجی گنجانده شوند یا نه. مقدار پیش‌فرض آن False است.
  • InkOptions.interpret_mask_op_as_opacity تعیین می‌کند که آیا عملیات ماسک به‌عنوان شفافیت تفسیر شود هنگام رندر قلم‌مو جوهر. مقدار پیش‌فرض آن True است؛ برای استفاده از عملیات ROP آن را به False تنظیم کنید.

پنهان کردن اشیاء جوهر در خروجی PDF

به‌صورت پیش‌فرض، اشیاء جوهر هنگام خروجی‌گیری قابل مشاهده‌اند. زمانی که نیاز به خروجی پاک بدون حاشیه‌نویسی‌های دست‌نویس یا محتوای جوهر دارید، InkOptions.hide_ink را به True تنظیم کنید.

مثال Python زیر یک ارائه را به PDF صادر می‌کند در حالی که تمام اشیاء جوهر را پنهان می‌سازد:

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    pdf_options = slides.export.PdfOptions()
    pdf_options.ink_options.hide_ink = True

    presentation.save("presentation_without_ink.pdf", slides.export.SaveFormat.PDF, pdf_options)

پنهان کردن اشیاء جوهر هنگام رندر اسلاید به صورت تصویر

برای پنهان کردن اشیاء جوهر هنگام رندر اسلایدها به صورت تصاویر بیت‌مپ، RenderingOptions.ink_options را پیکربندی کنید و گزینه‌های رندر را به متد Slide.get_image پاس دهید.

مثال Python زیر اولین اسلاید را به تصویر PNG بدون اشیاء جوهر رندر می‌کند:

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    rendering_options = slides.export.RenderingOptions()
    rendering_options.ink_options.hide_ink = True

    with presentation.slides[0].get_image(rendering_options) as image:
        image.save("slide_without_ink.png", slides.ImageFormat.PNG)

کنترل رندر ماسک جوهر

ویژگی InkOptions.interpret_mask_op_as_opacity نحوهٔ تفسیر عملیات ماسک را هنگام رندر قلم‌موهای جوهر کنترل می‌کند. مقدار پیش‌فرض True است که از شفافیت استفاده می‌کند. برای استفاده از عملیات ROP آن را به False تنظیم کنید.

مثال Python زیر یک اسلاید را به SVG صادر می‌کند و رندر مبتنی بر ROP برای عملیات ماسک جوهر را به‌کار می‌گیرد:

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    svg_options = slides.export.SVGOptions()
    svg_options.ink_options.interpret_mask_op_as_opacity = False

    with open("slide.svg", "wb") as svg_stream:
        presentation.slides[0].write_as_svg(svg_stream, svg_options)

همین تنظیم می‌تواند از طریق TiffOptions.ink_options هنگام خروجی‌گیری یک ارائه یا رندر اسلاید به TIFF اعمال شود.

انتخاب اینکه جوهر را پنهان یا نگه‌دارید

زمانی که فایل خروجی باید نسخهٔ پاکی از یک ارائه حاشیه‌دار باشد (مانند یک نسخهٔ نهایی برای توزیع بدون علامت‌های مرور)، InkOptions.hide_ink را به True تنظیم کنید.

وقتی حاشیه‌نویسی‌های جوهر بخشی از محتوای موردنظر هستند (نظرات مرور، یادداشت‌های دست‌نویس، هایلایت‌ها یا نقاشی‌ها که باید در نتایج خروجی دیده شوند)، مقدار پیش‌فرض False را برای InkOptions.hide_ink رها کنید. این امکان را می‌دهد که برنامه‌ها خروجی‌های مرور و نهایی جداگانه‌ای را از یک ارائهٔ یکسان بدون تغییر اشیاء جوهر منبع تولید کنند.

سؤالات متداول

آیا می‌توانم رنگ یا اندازهٔ یک خط جوهر موجود را تغییر دهم؟
بله. ردیابی را از Ink.traces دریافت کنید، سپس InkTrace.brush آن را تغییر دهید. می‌توانید رنگ InkBrush.color و اندازهٔ InkBrush.size را تنظیم کنید.

آیا پنهان کردن جوهر منبع ارائه را تغییر می‌دهد؟
خیر. InkOptions.hide_ink تنها بر نتیجهٔ رندر یا خروجی تأثیر می‌گذارد؛ اشیاء جوهر در ارائهٔ منبع حذف یا تغییر نمی‌شوند.

کدام فرمت‌های خروجی از گزینه‌های جوهر پشتیبانی می‌کنند؟
می‌توانید گزینه‌های جوهر را برای PDF، HTML، SVG، TIFF و تصاویر بیت‌مپ اسلاید از طریق گزینه‌های خروجی یا رندر مربوطه که در جدول بالا نشان داده شده‌اند، پیکربندی کنید.

مطالعهٔ بیشتر