إدارة SmartArt في عروض PowerPoint التقديمية باستخدام JavaScript
الحصول على النص من SmartArt
تمت إضافة طريقة TextFrame الآن إلى فئة [SmartArtShape] و فئة [SmartArtShape] على التوالي. هذه الخاصية تتيح لك الحصول على كل النص من [SmartArt] إذا لم يكن يحتوي فقط على نص العقد. سيساعدك رمز العينة التالي في الحصول على النص من عقدة SmartArt.
var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
var slide = pres.getSlides().get_Item(0);
var smartArt = slide.getShapes().get_Item(0);
var smartArtNodes = smartArt.getAllNodes();
for (let i = 0; i < smartArtNodes.size(); i++) {
const smartArtNode = smartArtNodes.get_Item(i);
for (let j = 0; j < smartArtNode.getShapes().size(); j++) {
const nodeShape = smartArtNode.getShapes().get_Item(j);
if (nodeShape.getTextFrame() != null) {
console.log(nodeShape.getTextFrame().getText());
}
}
}
} finally {
if (pres != null) {
pres.dispose();
}
}
تغيير نوع تخطيط SmartArt
من أجل تغيير نوع التخطيط لـ [SmartArt] . يرجى اتباع الخطوات أدناه:
- إنشاء مثيل من فئة [Presentation].
- الحصول على مرجع شريحة باستخدام فهرسها.
- إضافة [SmartArt] BasicBlockList.
- تغيير [LayoutType] إلى BasicProcess.
- كتب العرض التقديمي كملف PPTX. في المثال أدناه، أضفنا موصلًا بين شكلين.
var pres = new aspose.slides.Presentation();
try {
// إضافة SmartArt BasicProcess
var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.BasicBlockList);
// تغيير LayoutType إلى BasicProcess
smart.setLayout(aspose.slides.SmartArtLayoutType.BasicProcess);
// حفظ العرض التقديمي
pres.save("ChangeSmartArtLayout_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
التحقق من خاصية الرؤية لـ SmartArt
يرجى ملاحظة: تُرجِع الطريقة [SmartArtNode.isHidden()] قيمة true إذا كانت هذه العقدة مخفية في نموذج البيانات. للتحقق من خاصية الإخفاء لأي عقدة من [SmartArt] . يرجى اتباع الخطوات أدناه:
- إنشاء مثيل من فئة [Presentation].
- إضافة [SmartArt] RadialCycle.
- إضافة عقدة إلى SmartArt.
- التحقق من خاصية [visibility].
- كتب العرض التقديمي كملف PPTX. في المثال أدناه، أضفنا موصلًا بين شكلين.
var pres = new aspose.slides.Presentation();
try {
// إضافة SmartArt BasicProcess
var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.RadialCycle);
// إضافة عقدة إلى SmartArt
var node = smart.getAllNodes().addNode();
// التحقق من خاصية isHidden
var hidden = node.isHidden();// يرجع true
if (hidden) {
// تنفيذ بعض الإجراءات أو الإشعارات
}
// حفظ العرض التقديمي
pres.save("CheckSmartArtHiddenProperty_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
الحصول على أو تعيين نوع مخطط المنظمة
تسمح الطرق [SmartArtNode.getOrganizationChartLayout()] و [setOrganizationChartLayout(int)] بالحصول على أو تعيين نوع مخطط المنظمة المرتبط بالعقدة الحالية. للحصول على أو تعيين نوع مخطط المنظمة، يرجى اتباع الخطوات أدناه:
- إنشاء مثيل من فئة [Presentation].
- إضافة [SmartArt] إلى الشريحة.
- الحصول على أو [set the organization chart type].
- كتب العرض التقديمي كملف PPTX. في المثال أدناه، أضفنا موصلًا بين شكلين.
var pres = new aspose.slides.Presentation();
try {
// إضافة SmartArt BasicProcess
var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.OrganizationChart);
// الحصول على أو تعيين نوع مخطط المنظمة
smart.getNodes().get_Item(0).setOrganizationChartLayout(aspose.slides.OrganizationChartLayoutType.LeftHanging);
// حفظ العرض التقديمي
pres.save("OrganizeChartLayoutType_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
إنشاء مخطط منظمة صور
توفر Aspose.Slides لـ Node.js عبر Java واجهة برمجة تطبيقات بسيطة لإنشاء مخططات PictureOrganization بسهولة. لإنشاء مخطط على شريحة:
- إنشاء مثيل من فئة [Presentation].
- الحصول على مرجع الشريحة عبر فهرستها.
- إضافة مخطط ببيانات افتراضية مع النوع المطلوب (ChartType.PictureOrganizationChart).
- كتابة العرض التقديمي المعدل إلى ملف PPTX الشفرة التالية تُستخدم لإنشاء مخطط.
var pres = new aspose.slides.Presentation("test.pptx");
try {
var smartArt = pres.getSlides().get_Item(0).getShapes().addSmartArt(0, 0, 400, 400, aspose.slides.SmartArtLayoutType.PictureOrganizationChart);
pres.save("OrganizationChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
الحصول على أو تعيين حالة SmartArt
من أجل تغيير نوع تخطيط [SmartArt] . يرجى اتباع الخطوات أدناه:
- إنشاء مثيل من فئة [Presentation].
- إضافة [SmartArt] على الشريحة.
- [Get] أو [Set] حالة مخطط SmartArt.
- كتب العرض التقديمي كملف PPTX. الشفرة التالية تُستخدم لإنشاء مخطط.
// إنشاء كائن فئة Presentation الذي يمثل ملف PPTX
var pres = new aspose.slides.Presentation();
try {
// إضافة SmartArt BasicProcess
var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.BasicProcess);
// الحصول على أو تعيين حالة مخطط SmartArt
smart.setReversed(true);
var flag = smart.isReversed();
// حفظ العرض التقديمي
pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
FAQ
هل يدعم SmartArt المرآة/العكس للغات RTL؟ نعم. طريقة [setReversed] تقوم بتبديل اتجاه المخطط (LTR/RTL) إذا كان نوع SmartArt المحدد يدعم العكس.
كيف يمكنني نسخ SmartArt إلى الشريحة نفسها أو إلى عرض تقديمي آخر مع الحفاظ على التنسيق؟ يمكنك [clone the SmartArt shape] عبر مجموعة الأشكال ([ShapeCollection.addClone]) أو [clone the entire slide] التي تحتوي على هذا الشكل. كلا النهجين يحافظان على الحجم والموضع والتنسيق.
كيف أقوم بتحويل SmartArt إلى صورة نقطية للمعاينة أو تصدير الويب؟ [Render the slide] (or the whole presentation) to PNG/JPEG عبر الـ API الذي يحول الشرائح/العروض إلى صور — سيتم رسم SmartArt كجزء من الشريحة.
كيف يمكنني اختيار SmartArt معين برمجيًا على شريحة إذا كان هناك عدة؟ ممارسة شائعة هي استخدام [alternative text] (Alt Text) أو [setName] والبحث عن الشكل عبر تلك الخاصية باستخدام [Slide.getShapes]، ثم التحقق من النوع للتأكد أنه [SmartArt]. توضح الوثائق تقنيات شائعة للعثور على الأشكال والعمل معها.