إنشاء أو إدارة عقدة شكل SmartArt في PowerPoint باستخدام Java
إضافة عقدة SmartArt في عرض PowerPoint باستخدام Java
لقد قدم Aspose.Slides لـ Android عبر Java أبسط واجهة برمجية لإدارة أشكال SmartArt بأبسط الطرق. سيساعدك الكود النموذجي التالي على إضافة عقدة وعقدة فرعية داخل شكل SmartArt.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المختار إلى SmartArt إذا كان SmartArt.
- أضف عقدة جديدة في شكل SmartArt NodeCollection واضبط النص في TextFrame.
- الآن، أضف عقدة فرعية في عقدة SmartArt التي تمت إضافتها حديثًا واضبط النص في TextFrame.
- احفظ العرض.
// تحميل العرض المرغوب
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof SmartArt)
{
// تحويل الشكل إلى SmartArt
SmartArt smart = (SmartArt) shape;
// إضافة عقدة جديدة في SmartArt
SmartArtNode TemNode = (SmartArtNode) smart.getAllNodes().addNode();
// إضافة النص
TemNode.getTextFrame().setText("Test");
// إضافة عقدة فرعية جديدة في العقدة الأم. سيتم إضافتها في نهاية المجموعة
SmartArtNode newNode = (SmartArtNode) TemNode.getChildNodes().addNode();
// إضافة النص
newNode.getTextFrame().setText("New Node Added");
}
}
// حفظ العرض
pres.save("AddSmartArtNode.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إضافة عقدة SmartArt في موضع محدد
في الكود النموذجي التالي، شرحنا كيفية إضافة العقد الفرعية التي تنتمي إلى العقد المقابلة لشكل SmartArt في موضع معين.
- أنشئ مثيل من فئة Presentation.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- أضف شكل StackedList من نوع SmartArt في الشريحة التي تم الوصول إليها.
- الوصول إلى العقدة الأولى في شكل SmartArt المضاف.
- الآن، أضف عقدة فرعية للعقدة المحددة Node في الموضع 2 واضبط نصها.
- احفظ العرض.
// إنشاء مثيل من العرض
Presentation pres = new Presentation();
try {
// الوصول إلى شريحة العرض
ISlide slide = pres.getSlides().get_Item(0);
// إضافة Smart Art IShape
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.StackedList);
// الوصول إلى العقدة SmartArt في الفهرس 0
ISmartArtNode node = smart.getAllNodes().get_Item(0);
// إضافة عقدة فرعية جديدة في الموضع 2 في العقدة الأم
SmartArtNode chNode = (SmartArtNode) ((SmartArtNodeCollection) node.getChildNodes()).addNodeByPosition(2);
// إضافة نص
chNode.getTextFrame().setText("Sample Text Added");
// حفظ العرض
pres.save("AddSmartArtNodeByPosition.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
الوصول إلى عقدة SmartArt في عرض PowerPoint باستخدام Java
سيساعدك الكود النموذجي التالي على الوصول إلى العقد داخل شكل SmartArt. يرجى ملاحظة أنه لا يمكنك تغيير LayoutType الخاص بـ SmartArt لأنه للقراءة فقط ويتم تعيينه فقط عند إضافة شكل SmartArt.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المحدد إلى SmartArt إذا كان SmartArt.
- انتقل عبر جميع العقد داخل شكل SmartArt.
- الوصول إلى المعلومات وعرضها مثل موضع عقدة SmartArt، المستوى والنص.
// إنشاء مثيل من فئة Presentation
Presentation pres = new Presentation("SmartArtShape.pptx");
try {
// الحصول على الشريحة الأولى
ISlide slide = pres.getSlides().get_Item(0);
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : slide.getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof ISmartArt)
{
// تحويل الشكل إلى SmartArt
ISmartArt smart = (ISmartArt) shape;
// انتقل عبر جميع العقد داخل SmartArt
for (int i = 0; i < smart.getAllNodes().size(); i++)
{
// الوصول إلى عقدة SmartArt في الفهرس i
SmartArtNode node = (SmartArtNode) smart.getAllNodes().get_Item(i);
// طباعة معلمات عقدة SmartArt
System.out.print(node.getTextFrame().getText() + " " + node.getLevel() + " " + node.getPosition());
}
}
}
} finally {
if (pres != null) pres.dispose();
}
الوصول إلى عقدة الطفل SmartArt
سيساعدك الكود النموذجي التالي على الوصول إلى العقد الفرعية التي تنتمي إلى العقد المقابلة لشكل SmartArt.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المحدد إلى SmartArt إذا كان SmartArt.
- انتقل عبر جميع العقد داخل شكل SmartArt.
- لكل شكل SmartArt مقselected Node، انتقل عبر جميع عقد الأطفال داخل العقدة المعنية.
- الوصول إلى المعلومات وعرضها مثل موضع عقدة الأبناء، المستوى والنص.
// إنشاء مثيل من فئة Presentation
Presentation pres = new Presentation("AccessChildNodes.pptx");
try {
// الحصول على الشريحة الأولى
ISlide slide = pres.getSlides().get_Item(0);
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : slide.getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof ISmartArt)
{
// تحويل الشكل إلى SmartArt
ISmartArt smart = (ISmartArt) shape;
// انتقل عبر جميع العقد داخل SmartArt
for (int i = 0; i < smart.getAllNodes().size(); i++)
{
// الوصول إلى عقدة SmartArt في الفهرس i
SmartArtNode node0 = (SmartArtNode) smart.getAllNodes().get_Item(i);
// الانتقال عبر العقد الفرعية في عقدة SmartArt في الفهرس i
for (int j = 0; j < node0.getChildNodes().size(); j++)
{
// الوصول إلى العقدة الفرعية في عقدة SmartArt
SmartArtNode node = (SmartArtNode) node0.getChildNodes().get_Item(j);
// طباعة معلمات عقدة الطفل SmartArt
System.out.print("j = " + j + ", Text = " + node.getTextFrame().getText() + ", Level = " + node.getLevel() + ", Position = " + node.getPosition());
}
}
}
}
} finally {
if (pres != null) pres.dispose();
}
الوصول إلى عقدة الطفل SmartArt في موضع محدد
في هذا المثال، سنتعلم كيفية الوصول إلى العقد الفرعية في موضع معين وتتعلق بالعقد المقابلة لشكل SmartArt.
- أنشئ مثيل من Presentation.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- أضف شكل StackedList من نوع SmartArt.
- الوصول إلى شكل SmartArt المضاف.
- الوصول إلى العقدة في الفهرس 0 لشكل SmartArt الذي تم الوصول إليه.
- الآن، الوصول إلى عقدة الطفل في الموضع 1 للعقدة التي تم الوصول إليها باستخدام get_Item().
- الوصول إلى المعلومات وعرضها مثل موضع عقدة الطفل، المستوى والنص.
// إنشاء مثيل من العرض
Presentation pres = new Presentation();
try {
// الوصول إلى الشريحة الأولى
ISlide slide = pres.getSlides().get_Item(0);
// إضافة شكل SmartArt في الشريحة الأولى
ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.StackedList);
// الوصول إلى عقدة SmartArt في الفهرس 0
ISmartArtNode node = smart.getAllNodes().get_Item(0);
// الوصول إلى العقدة الفرعية في الموضع 1 في العقدة الأم
int position = 1;
SmartArtNode chNode = (SmartArtNode) ((SmartArtNodeCollection) node.getChildNodes()).get_Item(position);
// طباعة معلمات عقدة الطفل SmartArt
System.out.print("Text = " + chNode.getTextFrame().getText() + ", Level = " + chNode.getLevel() + ", Position = " + chNode.getPosition());
} finally {
if (pres != null) pres.dispose();
}
إزالة عقدة SmartArt في عرض PowerPoint باستخدام Java
في هذا المثال، سنتعلم كيفية إزالة العقد داخل شكل SmartArt.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المحدد إلى SmartArt إذا كان SmartArt.
- تحقق مما إذا كان SmartArt يحتوي على أكثر من 0 عقد.
- اختر عقدة SmartArt المراد إزالتها.
- الآن، قم بإزالة العقدة المحددة باستخدام RemoveNode method.
- احفظ العرض.
// تحميل العرض المرغوب
Presentation pres = new Presentation("AddSmartArtNode.pptx");
try {
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof ISmartArt)
{
// تحويل الشكل إلى SmartArt
ISmartArt smart = (ISmartArt) shape;
if (smart.getAllNodes().size() > 0)
{
// الوصول إلى عقدة SmartArt في الفهرس 0
ISmartArtNode node = smart.getAllNodes().get_Item(0);
// إزالة العقدة المحددة
smart.getAllNodes().removeNode(node);
}
}
}
// حفظ العرض
pres.save("RemoveSmartArtNode.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
إزالة عقدة SmartArt في موضع محدد
في هذا المثال، سنتعلم كيفية إزالة العقد داخل شكل SmartArt في موضع معين.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الأولى باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المحدد إلى SmartArt إذا كان SmartArt.
- اختر عقدة شكل SmartArt في الفهرس 0.
- الآن، تحقق مما إذا كانت العقدة SmartArt المحددة تحتوي على أكثر من عقدتين فرعيتين.
- الآن، قم بإزالة العقدة في الموضع 1 باستخدام RemoveNode method.
- احفظ العرض.
// تحميل العرض المرغوب
Presentation pres = new Presentation("AddSmartArtNode.pptx");
try {
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof SmartArt)
{
// تحويل الشكل إلى SmartArt
SmartArt smart = (SmartArt) shape;
if (smart.getAllNodes().size() > 0)
{
// الوصول إلى عقدة SmartArt في الفهرس 0
ISmartArtNode node = smart.getAllNodes().get_Item(0);
if (node.getChildNodes().size() >= 2)
{
// إزالة العقدة الفرعية في الموضع 1
(node.getChildNodes()).removeNode(1);
}
}
}
}
// حفظ العرض
pres.save("RemoveSmartArtNodeByPosition.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
تعيين موضع مخصص لعقدة الطفل في SmartArt
الآن تدعم Aspose.Slides لـ Android عبر Java تعيين خواص SmartArtShape X وY. يُظهر مقطع الكود أدناه كيفية تعيين موضع SmartArtShape المخصص، الحجم والدوران، وأيضًا يجب ملاحظة أن إضافة عقد جديدة يؤدي إلى إعادة حساب مواضع وأحجام جميع العقد. أيضًا مع إعدادات الموضع المخصصة، يمكن للمستخدم تعيين العقد وفقًا للمتطلبات.
// إنشاء مثيل من فئة Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try{
ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(20, 20, 600, 500, SmartArtLayoutType.OrganizationChart);
// نقل شكل SmartArt إلى موضع جديد
ISmartArtNode node = smart.getAllNodes().get_Item(1);
ISmartArtShape shape = node.getShapes().get_Item(1);
shape.setX(shape.getX() + shape.getWidth() * 2);
shape.setY(shape.getY() - shape.getHeight() * 2);
// تغيير عرض أشكال SmartArt
node = smart.getAllNodes().get_Item(2);
shape = node.getShapes().get_Item(1);
shape.setWidth(shape.getWidth() + shape.getWidth() * 2);
// تغيير ارتفاع أشكال SmartArt
node = smart.getAllNodes().get_Item(3);
shape = node.getShapes().get_Item(1);
shape.setHeight(shape.getHeight() + shape.getHeight() * 2);
// تغيير دوران أشكال SmartArt
node = smart.getAllNodes().get_Item(4);
shape = node.getShapes().get_Item(1);
shape.setRotation(90);
pres.save("SmartArt.pptx", SaveFormat.Pptx);
}finally {
pres.dispose();
}
التحقق من عقدة المساعد
سنستخدم شكل SmartArt المصدر التالي لاستكشافنا في أقسام مختلفة من هذه المقالة.
الشكل: شكل SmartArt المصدر في الشريحة |
في الكود النموذجي التالي، سنستكشف كيفية تحديد عقد المساعدين في مجموعة عقد SmartArt وتغييرها.
- أنشئ مثيل من Presentation وقم بتحميل العرض مع شكل SmartArt.
- احصل على مرجع الشريحة الثانية باستخدام فهرسها.
- انتقل عبر كل شكل داخل الشريحة الأولى.
- تحقق مما إذا كان الشكل من نوع SmartArt وقم بتحويل الشكل المحدد إلى SmartArt إذا كان SmartArt.
- انتقل عبر جميع العقد داخل شكل SmartArt وتحقق مما إذا كانت عقد مساعد.
- غيّر حالة عقدة المساعد إلى عقدة عادية.
- احفظ العرض.
// إنشاء مثيل من العرض
Presentation pres = new Presentation("AddNodes.pptx");
try {
// انتقل عبر كل شكل داخل الشريحة الأولى
for (IShape shape : pres.getSlides().get_Item(0).getShapes())
{
// تحقق مما إذا كان الشكل من نوع SmartArt
if (shape instanceof ISmartArt)
{
// تحويل الشكل إلى SmartArt
ISmartArt smart = (SmartArt) shape;
// الانتقال عبر جميع عقد شكل SmartArt
for (int i = 0; i < smart.getAllNodes().size(); i++)
{
ISmartArtNode node = smart.getAllNodes().get_Item(i);
// تحقق مما إذا كانت العقدة عقدة مساعد
if (node.isAssistant())
{
// تعيين العقدة المساعدة إلى false وجعلها عقدة عادية
node.isAssistant();
}
}
}
}
// حفظ العرض
pres.save("ChangeAssitantNode.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
الشكل: العقد المساعد قد تم تغييرها في شكل SmartArt داخل الشريحة |
تعيين تنسيق ملء العقدة
تتيح Aspose.Slides لـ Android عبر Java إضافة أشكال SmartArt مخصصة وتعيين تنسيق ملئها. تشرح هذه المقالة كيفية إنشاء أشكال SmartArt والوصول إليها وتعيين تنسيق ملئها باستخدام Aspose.Slides لـ Android عبر Java.
يرجى اتباع الخطوات أدناه:
- إنشاء مثيل من فئة Presentation.
- الحصول على مرجع الشريحة باستخدام فهرسها.
- إضافة شكل SmartArt عن طريق تعيين LayoutType.
- تعيين FillFormat لعقد أشكال SmartArt.
- كتابة العرض المعدل كملف PPTX.
// إنشاء مثيل من العرض
Presentation pres = new Presentation();
try {
// الوصول إلى الشريحة
ISlide slide = pres.getSlides().get_Item(0);
// إضافة شكل SmartArt وعقد
ISmartArt chevron = slide.getShapes().addSmartArt(10, 10, 800, 60, SmartArtLayoutType.ClosedChevronProcess);
ISmartArtNode node = chevron.getAllNodes().addNode();
node.getTextFrame().setText("Some text");
// تعيين لون ملء العقدة
for (IShape item : node.getShapes())
{
item.getFillFormat().setFillType(FillType.Solid);
item.getFillFormat().getSolidFillColor().setColor(Color.RED);
}
// حفظ العرض
pres.save("TestSmart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
توليد صورة مصغرة لعقدة الطفل SmartArt
يمكن للمطورين توليد صورة مصغرة للعقدة الفرعية لشكل SmartArt باتباع الخطوات التالية:
- أنشئ مثيلًا من Presentation.
- إضافة SmartArt.
- احصل على مرجع عقدة باستخدام فهرسها.
- احصل على صورة المصغرة.
- احفظ الصورة المصغرة بتنسيق الصورة المطلوب.
// إنشاء مثيل من العرض الذي يمثل ملف PPTX
Presentation pres = new Presentation();
try {
// إضافة SmartArt
ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicCycle);
// احصل على مرجع للعقدة باستخدام فهرسها
ISmartArtNode node = smart.getNodes().get_Item(1);
// احصل على الصورة المصغرة
IImage slideImage = node.getShapes().get_Item(0).getImage();
// احفظ الصورة المصغرة
try {
slideImage.save("SmartArt_ChildNote_Thumbnail.png", ImageFormat.Png);
} finally {
if (slideImage != null) slideImage.dispose();
}
} finally {
if (pres != null) pres.dispose();
}