Buat Bagan Organisasi csharp.png C#

Bagan organisasi digunakan untuk menggambarkan struktur bisnis, pemerintahan, atau organisasi. Mereka dapat diberhentikan karena berbagai alasan seperti membuat kebijakan atau tujuan perencanaan. Anda dapat membuat berbagai jenis bagan organisasi dengan membuat berbagai bentuk dan konektor. Artikel ini membahas cara membuat bagan Organisasi di C#.

Pembuat Bagan Organisasi – Instalasi C# API

Aspose.Diagram for .NET API dapat digunakan untuk membuat diagram dan bagan Visio yang berbeda. Anda dapat dengan mudah mengonfigurasi API dengan mengunduh file referensinya dari halaman Rilis Baru atau menggunakan perintah penginstalan NuGet berikut:

PM> Install-Package Aspose.Diagram

Buat Bagan Organisasi dalam Gaya CompactTree di C#

Anda dapat membuat bagan organisasi dengan gaya CompactTree dengan mengikuti langkah-langkah di bawah ini:

  1. Muat master dari diagram, stensil, atau templat apa pun yang ada.
  2. Tentukan nilai untuk membangun hierarki.
  3. Tambahkan bentuk dan koneksi antar node.
  4. Simpan diagram keluaran.

Cuplikan kode di bawah ini menjelaskan cara membuat bagan Organisasi di C#:

// Muat master dari diagram, stensil, atau templat apa pun yang ada
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;
// Tentukan nilai untuk membangun hierarki
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" });
// Tentukan Hashtable untuk memetakan nama string ke id bentuk panjang
Hashtable shapeIdMap = new Hashtable();
// Buat diagram baru
Diagram diagram = new Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
    // Tambahkan bentuk persegi panjang baru
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Atur properti bentuk baru
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Membuat koneksi antar node
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);
    }
}

//bagan CompactTree tata letak otomatis
LayoutOptions compactTreeOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.CompactTree,
    Direction = LayoutDirection.DownThenRight,
    EnlargePage = false
};

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

// Simpan diagram
diagram.Save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX);

Tangkapan layar berikut menunjukkan bagan organisasi keluaran yang dibuat dengan cuplikan kode di atas:

Buat Bagan Organisasi C#

Buat Bagan Organisasi dalam Gaya Bagan Alir di C#

Anda mungkin perlu membuat berbagai jenis bagan organisasi yang mungkin mengikuti template yang berbeda. Di sini Anda akan belajar cara membuat bagan Organisasi dengan gaya Flowchart secara terprogram dalam C#:

  1. Muat master dari diagram, stensil, atau templat apa pun yang ada.
  2. Tambahkan node dan konektor organisasi.
  3. Atur tata letak dan simpan diagram keluaran.

Kode contoh berikut menunjukkan cara membuat Bagan organisasi dengan gaya bagan alur di C#:

// Muat master dari diagram, stensil, atau templat apa pun yang ada
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;
// Tentukan nilai untuk membangun hierarki
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" });
// Tentukan Hashtable untuk memetakan nama string ke id bentuk panjang
Hashtable shapeIdMap = new Hashtable();
// Buat diagram baru
Diagram diagram = new Diagram(visioStencil);
foreach (string orgnode in listPos)
{
    // Tambahkan bentuk persegi panjang baru
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Atur properti bentuk baru
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// Membuat koneksi antar node
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);
    }
}

//Diagram Alir tata letak otomatis
LayoutOptions flowChartOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.FlowChart,
    Direction = LayoutDirection.TopToBottom,
    EnlargePage = true
};

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

// Simpan diagram
diagram.Save("FlowChart_out.vsdx", SaveFileFormat.VSDX);

Dapatkan Lisensi Sementara Gratis

Anda dapat meminta lisensi sementara gratis untuk mengevaluasi API dalam kapasitas penuhnya.

Kesimpulan

Pada artikel ini, Anda telah memahami cara membuat bagan organisasi secara terprogram di C#. Anda dapat membuat diagram dari stensil dan membuat bagan gaya CompactTree atau Flowchart berdasarkan kebutuhan Anda. Selain itu, Anda dapat mengunjungi bagian dokumentasi untuk melihat fitur-fitur lain yang tercakup dalam berbagai bab dan bagian. Jika ada pertanyaan, jangan ragu untuk menghubungi kami melalui forum.

Lihat juga

Ubah VSDM ke PDF dalam C#