استخراج النص المتقدم من العروض التقديمية في PHP
استخراج النص من الشرائح
توفر Aspose.Slides for PHP via Java الفئة SlideUtil. تكشف هذه الفئة عن عدد من الأساليب الساكنة المتعددة التحميل لاستخراج النص الكامل من عرض تقديمي أو شريحة. لاستخراج النص من شريحة في عرض PPTX، استخدم الأسلوب الساكن المتعدد التحميل getAllTextBoxes المعرّف في الفئة SlideUtil. يقبل هذا الأسلوب كائن Slide كمعامل. عند التنفيذ، يقوم أسلوب Slide بمسح النص بالكامل من الشريحة الممرَّرة كمعامل ويعيد مصفوفة من كائنات TextFrame. هذا يعني أن أي تنسيق نصي مرتبط بالنص متاح. الجزء التالي من الشيفرة يستخرج كل النص في الشريحة الأولى من العرض التقديمي:
# إنشاء كائن Presentation الذي يمثل ملف PPTX
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
foreach($pres->getSlides() as $slide) {
# الحصول على مصفوفة من كائنات ITextFrame من جميع الشرائح في PPTX
$textFramesPPTX = SlideUtil->getAllTextBoxes($slide);
# التجول عبر مصفوفة TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# التجول عبر الفقرات في ITextFrame الحالي
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# التجول عبر الأقسام في IParagraph الحالي
foreach($para->getPortions() as $port) {
# عرض النص في الجزء الحالي
echo($port->getText());
# عرض ارتفاع الخط للنص
echo($port->getPortionFormat()->getFontHeight());
# عرض اسم الخط للنص
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
}
} finally {
$pres->dispose();
}
استخراج النص من العروض التقديمية
لمسح النص من العرض التقديمي بالكامل، استخدم الأسلوب الساكن getAllTextFrames المعرّف في فئة SlideUtil. يأخذ هذا الأسلوب معاملين:
- أولاً، كائن Presentation يمثل العرض التقديمي الذي يُستخرج منه النص.
- ثانيًا، قيمة منطقية تحدد ما إذا كان يجب تضمين الشريحة الرئيسة عند مسح النص من العرض التقديمي. يعيد الأسلوب مصفوفة من كائنات TextFrame مع معلومات تنسيق النص. الشيفرة أدناه تمسح النص ومعلومات التنسيق من عرض تقديمي، بما في ذلك الشرائح الرئيسة.
# إنشاء كائن Presentation الذي يمثل ملف PPTX
$pres = new Presentation("demo.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
# الحصول على مصفوفة من كائنات ITextFrame من جميع الشرائح في PPTX
$textFramesPPTX = SlideUtil->getAllTextFrames($pres, true);
# التجول عبر مصفوفة TextFrames
for($i = 0; $i < java_values($Array->getLength($textFramesPPTX)) ; $i++) {
# التجول عبر الفقرات في ITextFrame الحالي
foreach($textFramesPPTX[$i]->getParagraphs() as $para) {
# التجول عبر الأجزاء في IParagraph الحالي
foreach($para->getPortions() as $port) {
# عرض النص في الجزء الحالي
echo($port->getText());
# عرض ارتفاع الخط للنص
echo($port->getPortionFormat()->getFontHeight());
# عرض اسم الخط للنص
if (!java_is_null($port->getPortionFormat()->getLatinFont())) {
echo($port->getPortionFormat()->getLatinFont()->getFontName());
}
}
}
}
} finally {
$pres->dispose();
}
استخراج النص المصنف والسريع
تم إضافة الأسلوب الساكن الجديد getPresentationText إلى فئة Presentation. هناك ثلاث عمليات تحميل لهذا الأسلوب:
الأسئلة المتكررة
ما مدى سرعة معالجة Aspose.Slides للعروض التقديمية الكبيرة أثناء استخراج النص؟
تم تحسين Aspose.Slides لأداء عالي وتقوم بمعالجة العروض التقديمية الكبيرة بكفاءة، مما يجعلها مناسبة لسيناريوهات المعالجة الفورية أو الضخمة.
هل يمكن لـ Aspose.Slides استخراج النص من الجداول والرسوم البيانية داخل العروض التقديمية؟
نعم، يدعم Aspose.Slides بالكامل استخراج النص من الجداول والرسوم البيانية والعناصر المعقدة الأخرى في الشرائح، مما يتيح لك الوصول إلى جميع المحتويات النصية وتحليلها بسهولة.
هل أحتاج إلى ترخيص خاص لـ Aspose.Slides لاستخراج النص من العروض التقديمية؟
يمكنك استخراج النص باستخدام نسخة التجربة المجانية من Aspose.Slides، رغم أن لديها بعض القيود، مثل معالجة عدد محدود من الشرائح فقط. للحصول على استخدام غير مقيد وللتعامل مع عروض تقديمية أكبر، يُنصح بشراء ترخيص كامل.