مدیریت راهنماهای رسم در ارائهها در PHP
بررسی کلی
راهنماهای رسم خطوط قابل تنظیم افقی و عمودی هستند که به کاربران کمک میکنند تا اشکال را بهصورت ثابت در حین ویرایش یک ارائه در PowerPoint همراستا کنند. آنها بهویژه زمانی مفیدند که یک برنامه یک ارائه تولید میکند که بعداً بهصورت دستی اصلاح خواهد شد: برنامه میتواند همان ابزارهای همراستایی را ذخیره کند تا نویسندگان هنگام افزودن یا جابجایی محتوا از آنها پیروی کنند.
راهنماهای رسم ابزارهای ویرایشی هستند، نه محتوای اسلاید. آنها در نمایش اسلاید یا خروجی رندر شده ظاهر نمیشوند. Aspose.Slides برای PHP از طریق Java آنها را از طریق کلاس DrawingGuidesCollection در دسترس قرار میدهد. یک راهنما توسط DrawingGuide نشان داده میشود و دارای جهت، موقعیت و رنگ است.
موقعیت بر حسب نقطه از گوشهٔ بالا‑چپ اسلاید یا مستر مربوطه اندازهگیری میشود. یک راهنمای عمودی از یک مختصات افقی استفاده میکند که معمولاً بین صفر و عرض اسلاید قرار دارد. یک راهنمای افقی از یک مختصات عمودی استفاده میکند که معمولاً بین صفر و ارتفاع اسلید قرار دارد.
افزودن راهنماها به نمای اسلاید
از CommonSlideViewProperties::getDrawingGuides برای مدیریت راهنماهای نمایش داده شده هنگام ویرایش اسلایدهای عادی استفاده کنید. با یک مقدار Orientation و یک موقعیت بر حسب نقطه، DrawingGuidesCollection::add را فراخوانی کنید.
مثال زیر یک راهنمای عمودی در سمت راست مرکز اسلاید و یک راهنمای افقی زیر آن اضافه میکند:
use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$slideSize = $presentation->getSlideSize()->getSize();
$slideWidth = java_values($slideSize->getWidth());
$slideHeight = java_values($slideSize->getHeight());
$guides = $presentation->getViewProperties()->getSlideViewProperties()->getDrawingGuides();
$guides->add(Orientation::Vertical, $slideWidth / 2 + 12.5);
$guides->add(Orientation::Horizontal, $slideHeight / 2 + 12.5);
$presentation->save("drawing-guides.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
دسترس به راهنماهای رسم
متدهای DrawingGuidesCollection::getCount و DrawingGuidesCollection::get_Item دسترسی به راهنماهای موجود را فراهم میکنند. متدهای DrawingGuide::getOrientation، DrawingGuide::getPosition و DrawingGuide::getColor مقادیری را برمیگردانند که میتوانند از طریق متدهای setter مربوطه نیز تغییر یابند.
مثال زیر راهنماهای نمای اسلاید را از ارائهای که در بالا ایجاد شد میخواند:
use aspose\slides\Presentation;
$presentation = new Presentation("drawing-guides.pptx");
try {
$guides = $presentation->getViewProperties()->getSlideViewProperties()->getDrawingGuides();
$guideCount = java_values($guides->getCount());
for ($index = 0; $index < $guideCount; $index++) {
$guide = $guides->get_Item($index);
$orientation = java_values($guide->getOrientation());
$position = java_values($guide->getPosition());
$color = java_values($guide->getColor()->toString());
echo sprintf("Guide %d: orientation = %d, position = %.2f, color = %s", $index, $orientation, $position, $color) . PHP_EOL;
}
} finally {
$presentation->dispose();
}
افزودن راهنماها به اسلایدهای مستر و طرحبندی
یک مستر اسلاید و هر یک از اسلایدهای طرحبندی آن میتوانند مجموعههای راهنمای رسم مخصوص به خود را داشته باشند. برای یک اسلاید مستر از MasterSlide::getDrawingGuides و برای یک اسلاید طرحبندی از LayoutSlide::getDrawingGuides استفاده کنید.
مثال زیر یک راهنمای عمودی به اولین اسلاید مستر و یک راهنمای افقی به اولین اسلاید طرحبندی اضافه میکند:
use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$slideSize = $presentation->getSlideSize()->getSize();
$slideWidth = java_values($slideSize->getWidth());
$slideHeight = java_values($slideSize->getHeight());
$masterGuides = $presentation->getMasters()->get_Item(0)->getDrawingGuides();
$layoutGuides = $presentation->getLayoutSlides()->get_Item(0)->getDrawingGuides();
$masterGuides->add(Orientation::Vertical, $slideWidth / 2 - 20);
$layoutGuides->add(Orientation::Horizontal, $slideHeight / 2 + 20);
$presentation->save("master-layout-drawing-guides.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
افزودن راهنماها به مسترهای یادداشت و جزوه
مسترسهای یادداشت و مسترسهای جزوه نیز از راهنماهای رسم پشتیبانی میکنند. برای دسترسی به مجموعههای آنها از MasterNotesSlide::getDrawingGuides و MasterHandoutSlide::getDrawingGuides استفاده کنید. اگر ارائهای شامل یکی از این مسترسها نباشد، مدیر مناسب را با Presentation::getMasterNotesSlideManager یا Presentation::getMasterHandoutSlideManager دریافت کنید، سپس مستر پیشفرض را با setDefaultMasterNotesSlide یا setDefaultMasterHandoutSlide ایجاد کنید.
مثال زیر یک راهنمای افقی به یک مستر یادداشت و یک راهنمای عمودی به یک مستر جزوه اضافه میکند:
use aspose\slides\Orientation;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation();
try {
$notesSize = $presentation->getNotesSize()->getSize();
$notesWidth = java_values($notesSize->getWidth());
$notesHeight = java_values($notesSize->getHeight());
$notesMaster = $presentation->getMasterNotesSlideManager()->setDefaultMasterNotesSlide();
$handoutMaster = $presentation->getMasterHandoutSlideManager()->setDefaultMasterHandoutSlide();
$notesMaster->getDrawingGuides()->add(Orientation::Horizontal, $notesHeight / 2 + 50);
$handoutMaster->getDrawingGuides()->add(Orientation::Vertical, $notesWidth / 2 - 50);
$presentation->save("notes-handout-drawing-guides.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
پاکسازی راهنماهای رسم
برای حذف تمام راهنماها از یک مجموعه خاص، DrawingGuidesCollection::clear را فراخوانی کنید. پاکسازی یک مجموعه بر راهنماهای ذخیرهشده در حوزهٔ دیگری تأثیر نمیگذارد.
مثال زیر راهنماهای نمای اسلاید و تمام راهنماهای موجود در مسترسهای اسلاید، اسلایدهای طرحبندی، مستر یادداشت و مستر جزوه را بدون ایجاد مسترسهای گمشده پاک میکند:
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
$presentation = new Presentation("presentation-with-guides.pptx");
try {
$presentation->getViewProperties()->getSlideViewProperties()->getDrawingGuides()->clear();
$masterCount = java_values($presentation->getMasters()->size());
for ($index = 0; $index < $masterCount; $index++) {
$presentation->getMasters()->get_Item($index)->getDrawingGuides()->clear();
}
$layoutCount = java_values($presentation->getLayoutSlides()->size());
for ($index = 0; $index < $layoutCount; $index++) {
$presentation->getLayoutSlides()->get_Item($index)->getDrawingGuides()->clear();
}
$notesMaster = $presentation->getMasterNotesSlideManager()->getMasterNotesSlide();
if (!java_is_null($notesMaster)) {
$notesMaster->getDrawingGuides()->clear();
}
$handoutMaster = $presentation->getMasterHandoutSlideManager()->getMasterHandoutSlide();
if (!java_is_null($handoutMaster)) {
$handoutMaster->getDrawingGuides()->clear();
}
$presentation->save("presentation-without-guides.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
پرسشهای متداول
آیا راهنماهای رسم در نمایش اسلاید یا تصاویر صادرشده ظاهر میشوند؟
خیر. راهنماهای رسم ابزارهای همراستایی برای ویرایش هستند و بهعنوان محتوای ارائه رندر نمیشوند.
آیا میتوان یک راهنمای رسم را مستقیماً به یک اسلاید عادی اضافه کرد؟
راهنماهای ویرایشی اسلایدهای عادی در ویژگیهای نمای اسلاید ارائه ذخیره میشوند. مجموعههای راهنمای جداگانهای برای مسترسهای اسلاید، اسلایدهای طرحبندی، مسترسهای یادداشت و مسترسهای جزوه موجود است.
کدام واحدها برای موقعیتهای راهنما استفاده میشوند؟
موقعیتها بهواحد نقطه مشخص میشوند که ۷۲ نقطه برابر یک اینچ است. موقعیتهای عمودی از لبهٔ چپ اندازهگیری میشوند و موقعیتهای افقی از لبهٔ بالا.
آیا پاکسازی راهنماهای رسم اشکال را حذف میکند یا محتوای اسلاید را تغییر میدهد؟
خیر. متد DrawingGuidesCollection::clear فقط راهنماهای موجود در مجموعهٔ انتخابشده را حذف میکند. اشکال و سایر محتوای اسلاید بدون تغییر باقی میمانند.