افزودن علامت تجاری به ارائهها در PHP
معرفی
یک علامت تجاری در یک ارائه متن یا تصویری است که بر روی یک اسلاید یا تمام اسلایدهای ارائه قرار میگیرد. معمولاً از علامت تجاری برای نشان دادن اینکه ارائه یک پیشنویس است (مثلاً علامت تجاری «پیشنویس») یا حاوی اطلاعات محرمانه است (مثلاً علامت تجاری «محرمانه») یا مشخص کردن شرکت مالک (مثلاً علامت تجاری «نام شرکت») یا شناسایی نویسنده ارائه استفاده میشود. علامت تجاری به جلوگیری از نقض حق‑کپیرایت کمک میکند زیرا نشان میدهد که ارائه نباید کپی شود. علامتهای تجاری در فرمتهای ارائه PowerPoint و OpenOffice استفاده میشوند. در Aspose.Slides میتوانید یک علامت تجاری به فرمتهای PowerPoint PPT، PPTX و OpenOffice ODP اضافه کنید.
در Aspose.Slides، روشهای مختلفی برای ایجاد علامت تجاری در اسناد PowerPoint یا OpenOffice و تغییر طراحی و رفتار آنها وجود دارد. جنبه مشترک این است که برای افزودن علامت تجاری متنی، باید از کلاس TextFrame استفاده کنید و برای افزودن علامت تجاری تصویری، از کلاس PictureFrame یا پر کردن یک شکل علامت تجاری با تصویر استفاده کنید. PictureFrame کلاس Shape را پیادهسازی میکند و به شما اجازه میدهد از تمام تنظیمات انعطافپذیر شیء شکل استفاده کنید. از آنجایی که ITextFrame یک شکل نیست و تنظیمات آن محدود است، در یک شیء Shape بسته میشود.
دو روش برای اعمال علامت تجاری وجود دارد: بر یک اسلاید واحد یا بر تمام اسلایدهای ارائه. اسلاید مستر برای افزودن علامت تجاری به تمام اسلایدهای ارائه استفاده میشود — علامت تجاری به اسلاید مستر اضافه میشود، کاملاً در آنجا طراحی میشود و به تمام اسلایدها اعمال میشود بدون اینکه امکان تغییر علامت تجاری در اسلایدهای منفرد را محدود کند.
علامت تجاری معمولاً بهعنوان غیرقابل ویرایش توسط سایر کاربران در نظر گرفته میشود. برای جلوگیری از ویرایش علامت تجاری (یا بهتر بگوییم شکل والد علامت تجاری) Aspose.Slides قابلیت قفلکردن شکل را فراهم میکند. یک شکل خاص میتواند در اسلاید معمولی یا در اسلاید مستر قفل شود. وقتی شکل علامت تجاری روی اسلاید مستر قفل شود، بر تمام اسلایدهای ارائه نیز قفل میماند.
میتوانید برای علامت تجاری یک نام تعیین کنید تا در آینده، در صورت نیاز به حذف آن، بتوانید آن را بر اساس نام در لیست اشکال اسلاید پیدا کنید.
میتوانید علامت تجاری را به هر روش دلخواهی طراحی کنید؛ با این حال معمولاً ویژگیهای مشترکی مانند تراز وسط، چرخش، موقعیت پیشروی و … در علامتهای تجاری وجود دارد. در مثالهای زیر به نحوه استفاده از این ویژگیها میپردازیم.
علامت تجاری متنی
افزودن یک علامت تجاری متنی به یک اسلاید
برای افزودن یک علامت تجاری متنی در PPT، PPTX یا ODP، ابتدا میتوانید یک شکل به اسلاید اضافه کنید، سپس یک قاب متن به این شکل اضافه کنید. قاب متن توسط کلاس TextFrame نمایش داده میشود. این نوع از Shape ارثبری نمیکند، در حالی که Shape مجموعه وسیعی از ویژگیها برای موقعیتیابی انعطافپذیر علامت تجاری دارد. بنابراین، شیء TextFrame در یک شیء AutoShape بسته میشود. برای افزودن متن علامت تجاری به شکل، از متد addTextFrame همانطور که در زیر نشان داده شده استفاده کنید.
$watermarkText = "CONFIDENTIAL";
$presentation = new Presentation();
$slide = $presentation->getSlides()->get_Item(0);
$watermarkShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 400, 40);
$watermarkFrame = $watermarkShape->addTextFrame($watermarkText);
$presentation->dispose();
See also
افزودن یک علامت تجاری متنی به یک ارائه
اگر میخواهید یک علامت تجاری متنی به کل ارائه (یعنی تمام اسلایدها بهصورت یکجا) اضافه کنید، آن را به MasterSlide اضافه کنید. بقیه منطق همانند افزودن علامت تجاری به یک اسلاید واحد است — یک شیء AutoShape ایجاد کنید و سپس با استفاده از متد addTextFrame علامت تجاری را به آن اضافه کنید.
$watermarkText = "CONFIDENTIAL";
$presentation = new Presentation();
$masterSlide = $presentation->getMasters()->get_Item(0);
$watermarkShape = $masterSlide->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 100, 400, 40);
$watermarkFrame = $watermarkShape->addTextFrame($watermarkText);
$presentation->dispose();
See also
تنظیم شفافیت شکل علامت تجاری
بهصورت پیشفرض، شکل مستطیل با رنگ پر و خط تنظیم میشود. خطوط کد زیر شکل را شفاف میکنند.
$watermarkShape->getFillFormat()->setFillType(FillType::NoFill);
$watermarkShape->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill);
تنظیم فونت برای یک علامت تجاری متنی
میتوانید فونت متن علامت تجاری را همانطور که در زیر نشان داده شده تغییر دهید.
$textFormat = $watermarkFrame->getParagraphs()->get_Item(0)->getParagraphFormat()->getDefaultPortionFormat();
$textFormat->setLatinFont(new FontData("Arial"));
$textFormat->setFontHeight(50);
تنظیم رنگ متن علامت تجاری
برای تنظیم رنگ متن علامت تجاری از کد زیر استفاده کنید:
$alpha = 150;
$red = 200;
$green = 200;
$blue = 200;
$textColor = new Java("java.awt.Color", $red, $green, $blue, $alpha);
$fillFormat = $watermarkFrame->getParagraphs()->get_Item(0)->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat();
$fillFormat->setFillType(FillType::Solid);
$fillFormat->getSolidFillColor()->setColor($textColor);
مرکزیکردن یک علامت تجاری متنی
میتوانید علامت تجاری را در وسط اسلاید قرار دهید؛ برای این کار میتوانید مراحل زیر را انجام دهید:
$slideSize = $presentation->getSlideSize()->getSize();
$slideWidth = java_values($slideSize->getWidth());
$slideHeight = java_values($slideSize->getHeight());
$watermarkWidth = 400;
$watermarkHeight = 40;
$watermarkX = ($slideWidth - $watermarkWidth) / 2;
$watermarkY = ($slideHeight - $watermarkHeight) / 2;
$watermarkShape = $slide->getShapes()->addAutoShape(
ShapeType::Rectangle, $watermarkX, $watermarkY, $watermarkWidth, $watermarkHeight);
$watermarkFrame = $watermarkShape->addTextFrame($watermarkText);
تصویر زیر نتیجه نهایی را نشان میدهد.

علامت تجاری تصویری
افزودن یک علامت تجاری تصویری به یک ارائه
برای افزودن یک علامت تجاری تصویری به اسلایدهای یک ارائه میتوانید اقدامات زیر را انجام دهید:
$image = Images::fromFile("watermark.png");
$picture = $presentation->getImages()->addImage($image);
$image->dispose();
$watermarkShape->getFillFormat()->setFillType(FillType::Picture);
$watermarkShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage($picture);
$watermarkShape->getFillFormat()->getPictureFillFormat()->setPictureFillMode(PictureFillMode::Stretch);
قفل کردن یک علامت تجاری برای ویرایش
اگر نیاز به جلوگیری از ویرایش یک علامت تجاری دارید، از متد AutoShape.getAutoShapeLock بر روی شکل استفاده کنید. با این ویژگی میتوانید شکل را از انتخاب، تغییر اندازه، جابجایی، گروهبندی با عناصر دیگر، قفل کردن متن برای ویرایش و موارد دیگر محافظت کنید:
// قفل کردن شکل علامت تجاری از تغییر
$watermarkShape->getAutoShapeLock()->setSelectLocked(true);
$watermarkShape->getAutoShapeLock()->setSizeLocked(true);
$watermarkShape->getAutoShapeLock()->setTextLocked(true);
$watermarkShape->getAutoShapeLock()->setPositionLocked(true);
$watermarkShape->getAutoShapeLock()->setGroupingLocked(true);
بردن یک علامت تجاری به جلو
در Aspose.Slides میتوانید ترتیب Z‑shapes را با استفاده از متد ShapeCollection.reorder تنظیم کنید. برای این کار، این متد را از لیست اسلایدهای ارائه صدا بزنید و مرجع شکل و عدد ترتیب آن را به متد پاس دهید. به این ترتیب میتوانید یک شکل را به جلو یا به عقب اسلاید ببرید. این قابلیت بهخصوص زمانی مفید است که نیاز داشته باشید علامت تجاری را جلوی سایر عناصر ارائه قرار دهید:
$shapeCount = java_values($slide->getShapes()->size());
$slide->getShapes()->reorder($shapeCount - 1, $watermarkShape);
تنظیم چرخش علامت تجاری
در ادامه یک مثال کد برای تنظیم چرخش علامت تجاری به گونهای که به صورت قطری در اسلاید قرار گیرد آورده شده است:
$diagonalAngle = atan($slideWidth / $slideHeight) * 180 / M_PI;
$watermarkShape->setRotation($diagonalAngle);
تعیین نام برای یک علامت تجاری
Aspose.Slides به شما امکان میدهد نام یک شکل را تعیین کنید. با استفاده از نام شکل میتوانید در آینده به آن دسترسی پیدا کنید تا اصلاح یا حذف کنید. برای تعیین نام شکل علامت تجاری، مقدار آن را به متد AutoShape.setName اختصاص دهید:
$watermarkShape->setName("watermark");
حذف یک علامت تجاری
برای حذف شکل علامت تجاری، از متد AutoShape.getName برای یافتن آن در اشکال اسلاید استفاده کنید. سپس شکل علامت تجاری را به متد ShapeCollection.remove پاس دهید:
$slideShapes = $slide->getShapes()->toArray();
foreach ($slideShapes as $shape) {
if ($shape->getName() === "watermark") {
$slide->getShapes()->remove($shape);
}
}
سوالات متداول
علامت تجاری چیست و چرا باید از آن استفاده کنم؟
علامت تجاری یک پوشش متنی یا تصویری است که بر روی اسلایدها اعمال میشود و به حفظ مالکیت فکری، ارتقاء شناخت برند یا جلوگیری از استفاده غیرمجاز از ارائهها کمک میکند.
آیا میتوانم علامت تجاری را به تمام اسلایدهای یک ارائه اضافه کنم؟
بله، Aspose.Slides به شما امکان میدهد برنامهنویسی کنید و یک علامت تجاری را به هر اسلاید از یک ارائه اضافه کنید. میتوانید در تمام اسلایدها پیمایش کنید و تنظیمات علامت تجاری را بهصورت جداگانه اعمال کنید.
چگونه میتوانم شفافیت علامت تجاری را تنظیم کنم؟
با تغییر تنظیمات پر (getFillFormat) شکل میتوانید شفافیت علامت تجاری را تنظیم کنید. این کار باعث میشود علامت تجاری بهصورت ظریف نمایش داده شود و مزاحم محتوی اسلاید نشود.
چه فرمتهای تصویری برای علامت تجاری پشتیبانی میشوند؟
Aspose.Slides فرمتهای تصویری مختلفی مانند PNG، JPEG، GIF، BMP، SVG و … را پشتیبانی میکند.
آیا میتوانم فونت و سبک یک علامت تجاری متنی را سفارشی کنم؟
بله، میتوانید هر فونت، اندازه و سبکی را انتخاب کنید تا با طراحی ارائه شما هماهنگ باشد و سازگاری برند را حفظ کند.
چگونه موقعیت یا جهتگیری یک علامت تجاری را تغییر دهم؟
میتوانید موقعیت و جهتگیری علامت تجاری را بهصورت برنامهای با تغییر مختصات، اندازه و ویژگیهای چرخش شکل تنظیم کنید.