PowerPoint Sunumlarında JavaScript Kullanarak SmartArt Yönetimi
Genel Bakış
SmartArt, düğümler, düğüm şekilleri ve bir yerleşimden oluşan bir PowerPoint diyagramıdır. Java aracılığıyla Node.js için Aspose.Slides ile SmartArt oluşturabilir, düğümlerindeki metni okuyabilir, yerleşimini değiştirebilir, gizli düğümleri inceleyebilir, organizasyon şeması yerleşimlerini yapılandırabilir ve resim organizasyon şemaları oluşturabilirsiniz.
Bir SmartArt Nesnesinden Metni Al
Bir SmartArt düğümü bir veya daha fazla şekil içerebilir. Görünür metni okumak için SmartArt.getAllNodes üzerinden döngü yapın, ardından SmartArtShape.getTextFrame tarafından döndürülen TextFrame öğesini okuyun.
let presentation = new aspose.slides.Presentation("sample.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
let shape = slide.getShapes().get_Item(0);
if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
let smartArt = shape;
let nodes = smartArt.getAllNodes();
for (let nodeIndex = 0; nodeIndex < nodes.size(); nodeIndex++) {
let node = nodes.get_Item(nodeIndex);
let nodeShapes = node.getShapes();
for (let shapeIndex = 0; shapeIndex < nodeShapes.size(); shapeIndex++) {
let nodeShape = nodeShapes.get_Item(shapeIndex);
if (nodeShape.getTextFrame() != null) {
console.log(nodeShape.getTextFrame().getText());
}
}
}
}
} finally {
presentation.dispose();
}
Bir SmartArt Nesnesinin Düzen Türünü Değiştir
SmartArt yerleşimi, düğümlerin nasıl düzenlendiğini ve bağlandığını kontrol eder. Aşağıdaki örnek, BasicBlockList değerine sahip bir SmartArtLayoutType kullanarak bir SmartArt nesnesi oluşturur, bunu BasicProcess değerine değiştirir ve sunumu kaydeder.
let presentation = new aspose.slides.Presentation();
try {
let smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, aspose.slides.SmartArtLayoutType.BasicBlockList);
smartArt.setLayout(aspose.slides.SmartArtLayoutType.BasicProcess);
presentation.save("ChangeSmartArtLayout_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Bir SmartArt Düğümünün Gizli Olup Olmadığını Kontrol Et
SmartArtNode.isHidden düğümün SmartArt veri modelinde gizli olup olmadığını gösterir. Seçilen yerleşim gizli düğümleri görünür diyagram öğeleri olarak göstermese bile gizli düğümler yapıda bulunabilir.
Aşağıdaki örnek, RadialCycle değerine sahip bir SmartArtLayoutType kullanan bir SmartArt nesnesine bir düğüm ekler ve düğümün gizli durumunu kontrol eder.
let presentation = new aspose.slides.Presentation();
try {
let smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, aspose.slides.SmartArtLayoutType.RadialCycle);
let node = smartArt.getAllNodes().addNode();
let isHidden = node.isHidden();
if (isHidden) {
console.log("The node is hidden in the SmartArt data model.");
}
presentation.save("CheckSmartArtHiddenProperty_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Organizasyon Şeması Düzenini Al veya Ayarla
Organizasyon şeması yerleşimi kullanan SmartArt diyagramları için SmartArtNode.getOrganizationChartLayout ve SmartArtNode.setOrganizationChartLayout alt düğümlerin bir üst düğüm altında nasıl düzenlendiğini tanımlar. Örneğin, seçilen OrganizationChartLayoutType değerine bağlı olarak alt düğümleri soldan, sağdan veya her iki taraftan asılacak şekilde ayarlayabilirsiniz.
Aşağıdaki örnek bir organizasyon şeması oluşturur ve ilk düğümün yerleşimini OrganizationChartLayoutType LeftHanging değerine ayarlar.
let presentation = new aspose.slides.Presentation();
try {
let smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
10, 10, 400, 300, aspose.slides.SmartArtLayoutType.OrganizationChart);
let rootNode = smartArt.getNodes().get_Item(0);
rootNode.setOrganizationChartLayout(aspose.slides.OrganizationChartLayoutType.LeftHanging);
presentation.save("OrganizationChartLayout_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Resim Organizasyon Şeması Oluştur
Resim organizasyon şeması, görüntü yer tutucuları içeren hiyerarşi diyagramları için tasarlanmış bir SmartArt yerleşimidir. SmartArt nesnesini bir slayta eklerken SmartArtLayoutType PictureOrganizationChart değerini kullanın.
let presentation = new aspose.slides.Presentation();
try {
let smartArt = presentation.getSlides().get_Item(0).getShapes().addSmartArt(
0, 0, 400, 400, aspose.slides.SmartArtLayoutType.PictureOrganizationChart);
presentation.save("PictureOrganizationChart_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
SSS
SmartArt RTL dilleri için yansıtma veya ters çevirme destekliyor mu?
Evet. Seçilen SmartArt yerleşimi ters çevirmeyi desteklediğinde, SmartArt.setReversed yöntemi diyagram yönünü soldan sağa’dan sağdan sola’ya değiştirir veya geri çevirir.
SmartArt’ı aynı slayta ya da başka bir sunuma biçimlendirmeyi koruyarak nasıl kopyalarım?
SmartArt şekli Şekli klonlayarak ShapeCollection.addClone ile ya da SmartArt’ı içeren tüm slaytı klonlayarak 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ü olarak nasıl oluştururum?
Slaytı veya tüm sunumu PNG ya da JPEG olarak slaytı render ederek dışa aktarabilirsiniz. SmartArt, slaytın bir parçası olarak renderlenir.
Bir slaytta birden fazla SmartArt nesnesi varsa belirli birini nasıl bulabilirim?
SmartArt şekline belirgin bir Shape.setAlternativeText ya da Shape.setName değeri atayın, bu değeri BaseSlide.getShapes içinde arayın ve ardından eşleşen şeklin bir SmartArt olduğundan emin olun.