إدارة كائنات الحبر في عروض PowerPoint بلغة PHP
المقدمة
PowerPoint يوفر ميزة الحبر التي تسمح لك برسم خطوط حرة. يمكن استخدام الحبر لتسليط الضوء على كائنات أخرى، وإظهار الاتصالات والعمليات، وجذب الانتباه إلى عناصر محددة على الشريحة.
Aspose.Slides يوفر الأنواع اللازمة للعمل مع كائنات الحبر. على سبيل المثال، فئة Ink تمثل كائن حبر على شريحة.
الفرق بين الكائنات العادية وكائنات الحبر
الكائنات على شريحة PowerPoint تمثل عادةً بواسطة كائنات Shape. في أبسط أشكالها، الشكل هو حاوية تحدد مساحة الكائن نفسه (إطارها) إلى جانب خصائص مثل حجم الحاوية، الشكل، والخلفية. للمزيد من المعلومات، راجع Shape Layout Format.
ومع ذلك، عندما يتعامل PowerPoint مع كائن حبر، يتجاهل جميع خصائص إطار الكائن (الحاوية) باستثناء حجمه. يتم تحديد حجم مساحة الحاوية بواسطة الطريقتين القياسيتين Shape.getWidth وShape.getHeight:

آثار الحبر
آثار الحبر هي عنصر أساسي يستخدم لتسجيل مسار القلم عندما يكتب المستخدم حبرًا رقميًا. تخزن الآثار سلسلة من النقاط المتصلة.
أبسط أشكال الترميز تحدد إحداثيات X وY لكل نقطة عينة. عندما يتم رسم جميع النقاط المتصلة، ينتج صورة كهذه:

خصائص الفرشاة للرسم
الفرشاة تُستخدم لرسم الخطوط التي تربط نقاط أثر الحبر. للفرشاة لونها وحجمها الخاص، ويُمثل ذلك الطريقتين InkBrush.getColor وInkBrush.getSize.
ضبط لون فرشاة الحبر
هذا الشيفرة PHP تُظهر كيفية ضبط لون فرشاة الحبر:
$presentation = new Presentation("pres.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$ink = $slide->getShapes()->get_Item(0);
$brush = $ink->getTraces()[0]->getBrush();
$brush->setColor(java("java.awt.Color")->RED);
} finally {
$presentation->dispose();
}
ضبط حجم فرشاة الحبر
هذا الشيفرة PHP تُظهر كيفية ضبط حجم فرشاة الحبر:
$presentation = new Presentation("pres.pptx");
try {
$slide = $presentation->getSlides()->get_Item(0);
$ink = $slide->getShapes()->get_Item(0);
$brush = $ink->getTraces()[0]->getBrush();
$brushSize = new Java("java.awt.Dimension", 5, 10);
$brush->setSize($brushSize);
} finally {
$presentation->dispose();
}
عامةً، عرض وارتفاع الفرشاة لا يتطابقان، لذا لا يعرض PowerPoint حجم الفرشاة (القسم المقابل من البيانات يكون مُظللاً). عندما يتطابق عرض وارتفاع الفرشاة، يعرض PowerPoint حجمه بهذه الطريقة:

للتوضيح، لنزيد ارتفاع كائن الحبر ونستعرض الأبعاد المهمة:

الإطار (الحاوية) لا يُراعي حجم الفرشاة—دائمًا يفترض أن سمك الخط صفر (انظر الصورة السابقة).
وبالتالي، لتحديد المنطقة المرئية لكائن الحبر بالكامل، يجب أخذ حجم فرشاة آثاره في الاعتبار. هنا، تم تعديل الكائن المستهدف (أثر النص المكتوب بخط اليد) ليتناسب مع حجم الحاوية (الإطار). عندما يتغير حجم الحاوية، يبقى حجم الفرشاة ثابتًا، والعكس صحيح.

PowerPoint يستخدم سلوكًا مشابهًا لكائنات النص:

التحكم في مظهر الحبر أثناء التصدير والتصيير
Aspose.Slides يوفر فئة InkOptions للتحكم في كيفية ظهور كائنات الحبر في المخرجات المُصدَّرة أو المُصيَّرة. يمكنك استخدام خصائصها لإخفاء الحبر بالكامل أو لتغيير طريقة تفسير عمليات قناع فرشاة الحبر.
خيارات الحبر متاحة من خلال خيارات التصدير أو التصيير لعدة أنواع من المخرجات:
| الإخراج | خاصية خيارات الحبر |
|---|---|
| PdfOptions.getInkOptions | |
| HTML | HtmlOptions.getInkOptions |
| SVG | SVGOptions.getInkOptions |
| TIFF | TiffOptions.getInkOptions |
| صورة الشريحة | RenderingOptions.getInkOptions |
الطرق التالية في فئة InkOptions تكشف عن نفس الإعدادين:
- InkOptions.getHideInk يحدد ما إذا كانت كائنات الحبر تُدرج في المخرج. القيمة الافتراضية هي
false. - InkOptions.getInterpretMaskOpAsOpacity يحدد ما إذا كانت عملية القناع تُفسَّر كعتامة عند تصيير فرشاة الحبر. القيمة الافتراضية هي
true؛ استدعِ InkOptions.setInterpretMaskOpAsOpacity معfalseلاستخدام عملية ROP بدلاً من ذلك.
إخفاء كائنات الحبر في ناتج PDF
افتراضيًا، تظل كائنات الحبر مرئية أثناء التصدير. لإنشاء مخرج نظيف دون تعليقات يدوية أو محتوى حبر آخر، استدعِ InkOptions.setHideInk مع true.
مثال PHP التالي يصدر عرضًا تقديميًا إلى PDF مع إخفاء جميع كائنات الحبر:
$presentation = new Presentation("presentation.pptx");
try {
$pdfOptions = new PdfOptions();
$pdfOptions->getInkOptions()->setHideInk(true);
$presentation->save("presentation_without_ink.pdf", SaveFormat::Pdf, $pdfOptions);
} finally {
$presentation->dispose();
}
إخفاء كائنات الحبر عند تصيير شريحة كصورة
لإخفاء كائنات الحبر عند تصيير الشرائح كصور نقطية، قم بتكوين RenderingOptions.getInkOptions ومرّر خيارات التصيير إلى Slide.getImage.
مثال PHP التالي يصدر الشريحة الأولى كصورة PNG دون كائنات حبر:
$presentation = new Presentation("presentation.pptx");
try {
$renderingOptions = new RenderingOptions();
$renderingOptions->getInkOptions()->setHideInk(true);
$slide = $presentation->getSlides()->get_Item(0);
$image = $slide->getImage($renderingOptions);
try {
$image->save("slide_without_ink.png", ImageFormat::Png);
} finally {
$image->dispose();
}
} finally {
$presentation->dispose();
}
التحكم في تصيير قناع الحبر
الإعداد InkOptions.getInterpretMaskOpAsOpacity يتحكم في كيفية تفسير عمليات القناع عند تصيير فرشات الحبر. القيمة الافتراضية هي true، والتي تستخدم العتامة. لاستخدام عملية ROP بدلاً من ذلك، استدعِ InkOptions.setInterpretMaskOpAsOpacity مع false.
مثال PHP التالي يصدر شريحة إلى SVG ويستخدم تصييرًا قائمًا على ROP لعمليات قناع الحبر:
$presentation = new Presentation("presentation.pptx");
try {
$svgOptions = new SVGOptions();
$svgOptions->getInkOptions()->setInterpretMaskOpAsOpacity(false);
$outputStream = new Java("java.io.FileOutputStream", "slide.svg");
try {
$slide = $presentation->getSlides()->get_Item(0);
$slide->writeAsSvg($outputStream, $svgOptions);
} finally {
$outputStream->close();
}
} finally {
$presentation->dispose();
}
نفس الإعداد يمكن تطبيقه عبر TiffOptions.getInkOptions عند تصدير عرض تقديمي أو تصيير شريحة إلى TIFF.
اختيار ما إذا كان يجب إخفاء أو حفظ الحبر
عندما تحتاج إلى نسخة نظيفة من عرض تقديمي مُعلق للتوزيع بدون علامات مراجعة، استدعِ InkOptions.setHideInk مع true أثناء التصدير.
اترك InkOptions.getHideInk على قيمته الافتراضية false عندما تكون تعليقات الحبر جزءًا من المحتوى المقصود، مثل تعليقات المراجعة، الملاحظات المكتوبة يدويًا، التحديدات، أو الرسومات التي يجب أن تبقى مرئية في النتيجة المُصدَّرة. يتيح ذلك للتطبيقات إنشاء مخرجات مراجعة ونهائية منفصلة من نفس العرض التقديمي دون تعديل كائنات الحبر الأصلية.
الأسئلة الشائعة
هل يمكنني تغيير لون أو حجم خط الحبر الموجود؟
نعم. احصل على الأثر عبر Ink.getTraces، ثم غيّر InkTrace.getBrush. استدعِ InkBrush.setColor أو InkBrush.setSize لتغيير الفرشاة.
هل إخفاء الحبر يغير عرض الشرائح الأصلي؟
لا. استدعاء InkOptions.setHideInk يؤثر فقط على النتيجة المُصيَّرة أو المُصدَّرة؛ ولا يزيل أو يغيّر كائنات الحبر في العرض الأصلي.
ما هي صيغ التصدير التي تدعم خيارات الحبر؟
يمكنك تكوين خيارات الحبر لـ 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.