.NET'te PowerPoint Sunumlarında SmartArt Yönetimi

Genel Bakış

SmartArt, düğümler, düğüm şekilleri ve bir yerleşimden oluşan bir PowerPoint diyagramıdır. Aspose.Slides for .NET 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 Almak

Bir SmartArt düğümü bir veya daha fazla şekil içerebilir. Görünür metni okumak için ISmartArt.AllNodes üzerinden yineleme yapın, ardından ISmartArtShape.TextFrame tarafından döndürülen ITextFrame öğesini okuyun.

using (Presentation presentation = new Presentation("sample.pptx"))
{
    ISlide slide = presentation.Slides[0];

    if (slide.Shapes[0] is ISmartArt smartArt)
    {
        foreach (ISmartArtNode node in smartArt.AllNodes)
        {
            foreach (ISmartArtShape nodeShape in node.Shapes)
            {
                if (nodeShape.TextFrame != null)
                {
                    Console.WriteLine(nodeShape.TextFrame.Text);
                }
            }
        }
    }
}

SmartArt Nesnesinin Yerleşim Türünü Değiştirmek

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.

using (Presentation presentation = new Presentation())
{
    ISmartArt smartArt = presentation.Slides[0].Shapes.AddSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);

    smartArt.Layout = SmartArtLayoutType.BasicProcess;

    presentation.Save("ChangeSmartArtLayout_out.pptx", SaveFormat.Pptx);
}

Bir SmartArt Düğümünün Gizli Olup Olmadığını Kontrol Etmek

ISmartArtNode.IsHidden düğümün SmartArt veri modelinde gizli olup olmadığını gösterir. Seçilen yerleşim, düğümleri görünür diyagram öğeleri olarak göstermese bile gizli düğüler 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.

using (Presentation presentation = new Presentation())
{
    ISmartArt smartArt = presentation.Slides[0].Shapes.AddSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.RadialCycle);

    ISmartArtNode node = smartArt.AllNodes.AddNode();
    bool isHidden = node.IsHidden;

    if (isHidden)
    {
        Console.WriteLine("The node is hidden in the SmartArt data model.");
    }

    presentation.Save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat.Pptx);
}

Organizasyon Şeması Yerleşimini Almak veya Ayarlamak

Organizasyon şeması yerleşimi kullanan SmartArt diyagramları için ISmartArtNode.OrganizationChartLayout alt düğümlerin bir üst düğümün altında nasıl düzenleneceğini tanımlar. Örneğin, seçilen OrganizationChartLayoutType değerine göre alt düğümleri soldan, sağdan veya her iki taraftan sarkıtacak şekilde ayarlayabilirsiniz.

Aşağıdaki örnek bir organizasyon şeması oluşturur ve ilk düğümün yerleşimini OrganizationChartLayoutType LeftHanging değerine ayarlar.

using (Presentation presentation = new Presentation())
{
    ISmartArt smartArt = presentation.Slides[0].Shapes.AddSmartArt(
        10, 10, 400, 300, SmartArtLayoutType.OrganizationChart);

    ISmartArtNode rootNode = smartArt.Nodes[0];
    rootNode.OrganizationChartLayout = OrganizationChartLayoutType.LeftHanging;

    presentation.Save("OrganizationChartLayout_out.pptx", SaveFormat.Pptx);
}

Resimli Organizasyon Şeması Oluşturmak

Resimli organizasyon şeması, görüntü yer tutucularını içeren hiyerarşi diyagramları için tasarlanmış bir SmartArt yerleşimidir. SmartArt nesnesini bir slayta eklerken SmartArtLayoutType PictureOrganizationChart değerini kullanın.

using (Presentation presentation = new Presentation())
{
    ISmartArt smartArt = presentation.Slides[0].Shapes.AddSmartArt(
        0, 0, 400, 400, SmartArtLayoutType.PictureOrganizationChart);

    presentation.Save("PictureOrganizationChart_out.pptx", SaveFormat.Pptx);
}

SSS

SmartArt RTL dilleri için yansıtma veya tersine çevirme destekliyor mu?

Evet. IsReversed özelliği, seçilen SmartArt yerleşimi tersine çevirmeyi desteklediğinde diyagram yönünü soldan sağa’dan sağa sola’ya değiştirir, ya da tersine.

Biçimlendirmeyi koruyarak SmartArt’ı aynı slayta veya başka bir sunuma nasıl kopyalarım?

SmartArt şeklinin kopyasını alabilirsiniz ShapeCollection.AddClone ile veya SmartArt içeren tüm slaytı kopyalayabilirsiniz. Her iki yöntem de boyut, konum ve biçimlendirmeyi korur.

SmartArt’ı önizleme veya web dışa aktarımı için bir raster görüntüye nasıl render ederim?

Slaytı render edin veya tüm sunumu PNG veya JPEG olarak dışa aktarın. SmartArt, slaytın bir parçası olarak render edilir.

Bir slaytta birden fazla SmartArt nesnesi varsa, belirli bir SmartArt nesnesini nasıl bulabilirim?

SmartArt şekline belirgin bir AlternativeText veya Name değeri atayın, bu değeri Slide.Shapes içinde arayın ve ardından eşleşen şeklin bir ISmartArt olup olmadığını kontrol edin.