PowerPoint Sunumlarında Java Kullanarak SmartArt Yönetimi
Genel Bakış
SmartArt, düğümler, düğüm şekilleri ve bir yerleşimden oluşturulan bir PowerPoint diyagramıdır. Aspose.Slides for Java ile SmartArt oluşturabilir, düğümlerinden metin okuyabilir, yerleşimini değiştirebilir, gizli düğümleri inceleyebilir, organizasyon şeması yerleşimlerini yapılandırabilir ve resimli organizasyon şemaları oluşturabilirsiniz.
SmartArt Nesnesinden Metin Al
Bir SmartArt düğümü bir veya daha fazla şekil içerebilir. Görünür metni okumak için ISmartArt.getAllNodes üzerinden yineleme yapın, ardından ISmartArtShape.getTextFrame tarafından döndürülen ITextFrame öğesini okuyun.
Presentation presentation = new Presentation("sample.pptx");
try {
ISlide slide = presentation.getSlides().get_Item(0);
IShape shape = slide.getShapes().get_Item(0);
if (shape instanceof ISmartArt) {
ISmartArt smartArt = (ISmartArt) shape;
for (ISmartArtNode node : smartArt.getAllNodes()) {
for (ISmartArtShape nodeShape : node.getShapes()) {
if (nodeShape.getTextFrame() != null) {
System.out.println(nodeShape.getTextFrame().getText());
}
}
}
}
} finally {
presentation.dispose();
}
SmartArt Nesnesinin Yerleşim Türünü Değiştirme
SmartArt yerleşimi, düğümlerin nasıl düzenlendiğini ve bağlandığını kontrol eder. Aşağıdaki örnek, SmartArtLayoutType BasicBlockList değerine sahip bir SmartArt nesnesi oluşturur, bunu BasicProcess değerine değiştirir ve sunumu kaydeder.
Presentation presentation = new Presentation();
try {
ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);
smartArt.setLayout(SmartArtLayoutType.BasicProcess);
presentation.save("ChangeSmartArtLayout_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Bir SmartArt Düğümünün Gizli Olup Olmadığını Kontrol Et
ISmartArtNode.isHidden düğümün SmartArt veri modelinde gizli olup olmadığını gösterir. Seçilen yerleşim, düğümü görünür diyagram öğesi olarak göstermese bile gizli düğümler yapıda bulunabilir.
Aşağıdaki örnek, SmartArtLayoutType RadialCycle değerini kullanan bir SmartArt nesnesine bir düğüm ekler ve düğümün gizli durumunu kontrol eder.
Presentation presentation = new Presentation();
try {
ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, SmartArtLayoutType.RadialCycle);
ISmartArtNode node = smartArt.getAllNodes().addNode();
boolean isHidden = node.isHidden();
if (isHidden) {
System.out.println("The node is hidden in the SmartArt data model.");
}
presentation.save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Organizasyon Şeması Yerleşimini Al veya Ayarla
Organizasyon şeması yerleşimi kullanan SmartArt diyagramları için, ISmartArtNode.getOrganizationChartLayout ve ISmartArtNode.setOrganizationChartLayout bir ebeveyn düğümünün altındaki alt düğümlerin nasıl düzenleneceğini tanımlar. Örneğin, seçilen OrganizationChartLayoutType değerine bağlı olarak alt düğümler sola, sağa veya her iki tarafa asılacak şekilde ayarlanabilir.
Aşağıdaki örnek bir organizasyon şeması oluşturur ve ilk düğümün yerleşimini OrganizationChartLayoutType LeftHanging değerine ayarlar.
Presentation presentation = new Presentation();
try {
ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, SmartArtLayoutType.OrganizationChart);
ISmartArtNode rootNode = smartArt.getNodes().get_Item(0);
rootNode.setOrganizationChartLayout(OrganizationChartLayoutType.LeftHanging);
presentation.save("OrganizationChartLayout_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Resimli Organizasyon Şeması Oluştur
Resimli organizasyon şeması, resim yer tutucuları içeren hiyerarşi diyagramları için tasarlanmış bir SmartArt yerleşimidir. Bir slayta SmartArt nesnesi eklerken SmartArtLayoutType PictureOrganizationChart değerini kullanın.
Presentation presentation = new Presentation();
try {
ISmartArt smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
0, 0, 400, 400, SmartArtLayoutType.PictureOrganizationChart);
presentation.save("PictureOrganizationChart_out.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
SSS
SmartArt, RTL dilleri için yansıtma veya tersleme destekliyor mu?
Evet. ISmartArt.setReversed yöntemi, seçilen SmartArt yerleşimi terslemeyi desteklediğinde, diyagram yönünü soldan sağa’dan sağdan sola’ya veya tersine değiştirir.
SmartArt’ı aynı slayta ya da başka bir sunuma formatı koruyarak nasıl kopyalayabilirim?
SmartArt şekli SmartArt şekli klonla ile ShapeCollection.addClone kullanarak veya SmartArt’ı içeren slaytı tüm slaytı klonla ile kopyalayabilirsiniz. Her iki yaklaşım da boyut, konum ve biçimlendirmeyi korur.
SmartArt’ı önizleme veya web dışa aktarımı için bir raster görüntüye nasıl dönüştürürüm?
Slaytı render et veya tüm sunumu PNG veya JPEG’ye dönüştürün. SmartArt, slaytın bir parçası olarak render edilir.
Bir slaytta birkaç SmartArt nesnesi varsa belirli bir SmartArt nesnesini nasıl bulabilirim?
SmartArt şekli üzerinde ayırt edici bir Shape.getAlternativeText veya Shape.getName değeri ayarlayın, bu değeri BaseSlide.getShapes içinde arayın ve eşleşen şeklin bir ISmartArt olduğundan emin olun.