Kuruluş şeması oluştur csharp.png C#

Organizasyon şeması bir işletmenin, hükümetin veya bir organizasyonun yapısını tasvir etmek için kullanılır. Politika yapmak veya planlama yapmak gibi farklı nedenlerle ortaya çıkabilirler. Farklı şekiller ve bağlayıcılar yaparak farklı türde organizasyon şemaları oluşturabilirsiniz. Bu makale, C# dilinde bir Kuruluş şemasının nasıl oluşturulacağını kapsar.

Organizasyon Şeması Oluşturucu – C# API Kurulumu

Aspose.Diagram for .NET API, farklı Visio diyagramları ve çizelgeleri oluşturmak için kullanılabilir. Yeni Sürümler sayfasından referans dosyasını indirerek veya aşağıdaki NuGet kurulum komutunu kullanarak API’yi kolayca yapılandırabilirsiniz:

PM> Install-Package Aspose.Diagram

C# ile CompactTree Stilinde Organizasyon Şeması Oluşturma

Aşağıdaki adımları izleyerek CompactTree stilinde bir organizasyon şeması oluşturabilirsiniz:

  1. Mevcut herhangi bir diyagram, şablon veya şablondan ana şablonları yükleyin.
  2. Hiyerarşiyi oluşturmak için değerleri tanımlayın.
  3. Düğümler arasında şekiller ve bağlantılar ekleyin.
  4. Çıkış diyagramını kaydedin.

Aşağıdaki kod parçacığı, C# dilinde bir Kuruluş şemasının nasıl oluşturulacağını açıklar:

// Herhangi bir mevcut diyagram, şablon veya şablondan ana şablonları yükleyin
string visioStencil = "Basic Shapes.vss";
const string rectangleMaster = "Rectangle";
const string connectorMaster = "Dynamic connector";
const int pageNumber = 0;
const double width = 1;
const double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
List<string> listPos = new List<string>(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Dize adını uzun şekil kimliğine eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
    // Yeni bir dikdörtgen şekli ekleyin
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlayın
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
foreach (string orgName in listPos)
{
    int lastColon = orgName.LastIndexOf(':');
    if(lastColon > 0)
    {
        string parendName = orgName.Substring(0, lastColon);
        long shapeId = (long)shapeIdMap[orgName];
        long parentId = (long)shapeIdMap[parendName];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//otomatik düzen CompactTree grafiği
LayoutOptions compactTreeOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.CompactTree,
    Direction = LayoutDirection.DownThenRight,
    EnlargePage = false
};

diagram.Pages[pageNumber].Layout(compactTreeOptions);

// Diyagramı kaydet
diagram.Save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX);

Aşağıdaki ekran görüntüsü, yukarıdaki kod parçacığıyla oluşturulan çıkış organizasyon şemasını gösterir:

Kuruluş şeması oluşturma C#

C# ile Akış Şeması Stilinde Organizasyon Şeması Oluşturma

Farklı şablonları takip edebilecek farklı türde organizasyon şemaları oluşturmanız gerekebilir. Burada C# programlı olarak Akış Şeması stilinde Organizasyon şeması oluşturmayı öğreneceksiniz:

  1. Mevcut herhangi bir diyagram, şablon veya şablondan ana şablonları yükleyin.
  2. Kuruluş düğümlerini ve bağlayıcıları ekleyin.
  3. Düzeni ayarlayın ve çıktı diyagramını kaydedin.

Aşağıdaki örnek kod, C# dilinde akış şeması stilinde Kuruluş şemasının nasıl oluşturulacağını gösterir:

// Herhangi bir mevcut diyagram, şablon veya şablondan ana şablonları yükleyin
string visioStencil = "Basic Shapes.vss";
const string rectangleMaster = "Rectangle";
const string connectorMaster = "Dynamic connector";
const int pageNumber = 0;
const double width = 1;
const double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Hiyerarşiyi oluşturmak için değerleri tanımlayın
List<string> listPos = new List<string>(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Dize adını uzun şekil kimliğine eşlemek için bir Hashtable tanımlayın
Hashtable shapeIdMap = new Hashtable();
// Yeni bir diyagram oluştur
Diagram diagram = new Diagram(visioStencil);
foreach (string orgnode in listPos)
{
    // Yeni bir dikdörtgen şekli ekleyin
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Yeni şeklin özelliklerini ayarlayın
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Düğümler arasında bağlantılar oluşturun
foreach (string orgName in listPos)
{
    int lastColon = orgName.LastIndexOf(':');
    if(lastColon > 0)
    {
        string parendName = orgName.Substring(0, lastColon);
        long shapeId = (long)shapeIdMap[orgName];
        long parentId = (long)shapeIdMap[parendName];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//otomatik düzen Akış Şeması
LayoutOptions flowChartOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.FlowChart,
    Direction = LayoutDirection.TopToBottom,
    EnlargePage = true
};

diagram.Pages[pageNumber].Layout(flowChartOptions);

// Diyagramı kaydet
diagram.Save("FlowChart_out.vsdx", SaveFileFormat.VSDX);

Ücretsiz Geçici Lisans Alın

API’yi tam kapasitesiyle değerlendirmek için bir ücretsiz geçici lisans talep edebilirsiniz.

Çözüm

Bu yazıda, C# ile programlı olarak Organizasyon şemasının nasıl oluşturulacağını anladınız. Şablondan bir diyagram oluşturabilir ve gereksinimlerinize göre CompactTree veya Flowchart stil şeması oluşturabilirsiniz. Ayrıca, farklı bölüm ve bölümlerde ele alınan diğer özelliklere göz atmak için belgeler bölümünü ziyaret edebilirsiniz. Herhangi bir sorunuz olması durumunda, lütfen forum aracılığıyla bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız

C# dilinde VSDM’yi PDF’ye dönüştürün