MS Visio, akış şemaları, veri akış şemaları, iş süreci modelleri vb. gibi çok çeşitli diyagramlar oluşturmanıza izin veren popüler bir uygulamadır. VSDX, MS Visio’nun depolamak için kullandığı dosya biçimidir diyagramlar. Bu makale, VSDX işlemeyi otomatikleştirmek için C#’ta sıfırdan Visio diyagramları oluşturmaya yönelik temel bir eğitim sağlar. Ayrıca, .NET uygulamalarından VSDX diyagramlarına sayfaların, şekillerin ve metnin nasıl ekleneceğini de kapsar.

C# Visio API’si - Ücretsiz İndirme

Aspose.Diagram for .NET, .NET uygulamalarınız içinden MS Visio diyagramları oluşturmanıza, düzenlemenize, dönüştürmenize ve işlemenize olanak sağlayan, zengin özelliklere sahip bir API’dir. API, kullanımı kolay özellikler ve yöntemlerle VSDX diyagramlarını değiştirmenizi kolaylaştırır. API’nin DLL dosyasını indirebilir veya NuGet kullanarak .NET uygulamalarınıza yükleyebilirsiniz.

Install-Package Aspose.Diagram

C# kullanarak Visio VSDX Diyagramı oluşturun

Öncelikle sıfırdan boş bir VSDX diyagramı oluşturalım. Bunu yapmak için gereken adımlar aşağıdadır:

Aşağıdaki kod örneği, C# dilinde Visio VSDX diyagramının nasıl oluşturulacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-diagram/Aspose.Diagram-for-.NET adresine gidin.
// Belgeler dizininin yolu.
string dataDir = RunExamples.GetDataDir_Diagrams();

// Halihazırda mevcut değilse, dizin oluşturun.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// Yeni bir Visio başlat
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// VSDX formatında kaydedin
diagram.Save(dataDir, SaveFileFormat.VSDX);

C# ile Visio Diyagramına Master Ekleme

Master, diyagramlarda kullanılacak bir şekil koleksiyonunu içeren şablonu eklemek için kullanılır. Master’ı eklemek istiyorsanız, bir VSS şablon dosyasına ve master ID’ye ihtiyacınız vardır. Aşağıda, Aspose.Diagram kullanarak Visio diyagramına bir ana öğe ekleme adımları yer almaktadır.

Aşağıdaki kod örneği, C# kullanarak Visio diyagramına ana kopyanın nasıl ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-diagram/Aspose.Diagram-for-.NET adresine gidin.
// Belgeler dizininin yolu.
string dataDir = RunExamples.GetDataDir_Master();

// Yük diyagramı
Diagram diagram = new Diagram();

// Bir akışa şablon yükleme
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// Şablon dosyası yolu ve ana kimliği ile ana öğe ekle
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// Şablon dosyası yolu ve ana adı ile ana belge ekle
diagram.AddMaster(templateFileName, masterName);

// Şablon dosya akışı ve ana kimlik ile ana öğe ekle
diagram.AddMaster(stream, 2);

// Kaynak diyagramdan diyagrama master ekler
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// Şablon dosya akışı ve ana kimlik ile ana öğe ekle
diagram.AddMaster(stream, masterName);

// Tanımlı PinX ve PinY ile şekil ekler.
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// Tanımlı PinX, PinY, Genişlik ve Yükseklik ile şekil ekler.
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

Daha fazla ayrıntı için lütfen master ile çalışma sayfasını ziyaret edin.

C# dilinde bir Visio Diyagramına Sayfa Ekleme

MS Visio diyagramları bir veya daha fazla sayfadan oluşur ve her sayfa diyagramları içerir. Bu nedenle, bir şekil eklemeden önce aşağıdaki adımları kullanarak bir sayfa eklemeniz gerekir.

  • Diagram sınıfını kullanarak yeni bir diyagram oluşturun veya mevcut bir diyagramı yükleyin.
  • Diagram.Pages.Count özelliğini kullanarak diyagramın zaten bir sayfa içerip içermediğini kontrol edin.
  • Varsa, Diagram.Pages[index].ID özelliğini kullanarak son sayfanın kimliğini alın.
  • Page sınıfını kullanarak yeni bir sayfa oluşturun ve adını ve kimliğini ayarlayın.
  • Diagram.Pages.Add(Page) yöntemini kullanarak diyagrama sayfa ekleyin.
  • Diagram.Save(Sring fileName, SaveFileFormat.VSDX) yöntemini kullanarak VSDX diyagramını kaydedin.

Aşağıdaki kod örneği, C# kullanarak Visio VSDX diyagramında nasıl sayfa ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-diagram/Aspose.Diagram-for-.NET adresine gidin.
// Belgeler dizininin yolu.
string dataDir = RunExamples.GetDataDir_VisioPages();

// Yük diyagramı
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// Maksimum sayfa kimliğini hesaplar
int max = 0;
if (diagram.Pages.Count != 0)
    max = diagram.Pages[0].ID;

for (int i = 1; i < diagram.Pages.Count; i++)
{
    if (max < diagram.Pages[i].ID)
        max = diagram.Pages[i].ID;
}

// Maksimum sayfa kimliğini ayarla
int MaxPageId = max;

// Yeni bir sayfa nesnesi başlat
Page newPage = new Page();
// adı ayarla
newPage.Name = "new page";
// Sayfa kimliğini ayarla
newPage.ID = MaxPageId + 1;

// Veya Sayfa oluşturucuyu deneyin
// Sayfa yeniSayfa = yeni Sayfa(MaxPageId + 1);

// yeni bir boş sayfa ekle
diagram.Pages.Add(newPage);

// Diyagramı kaydet
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

Daha fazla ayrıntı için lütfen sayfalarla çalışma sayfasını ziyaret edin.

C# kullanarak Visio Diyagramında Şekil Oluşturma

Şekiller, Visio diyagramlarının yapı taşlarıdır. MS Visio, çeşitli alanlarda diyagramlar oluşturmak için çok çeşitli şekilleri destekler. Aşağıdaki adımlar, Visio Diyagramında nasıl şekil ekleneceğini gösterir.

Aşağıdaki kod örneği, C# kullanarak Visio diyagramına nasıl şekil ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-diagram/Aspose.Diagram-for-.NET adresine gidin.
// Belgeler dizininin yolu.
string dataDir = RunExamples.GetDataDir_Shapes();

// Diyagram yükle
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Ada göre sayfa al
Page page = diagram.Pages.GetPage("Page-2");

// Şablon dosyası yolu ve ana adı ile ana belge ekle
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// Sayfa indeksleme 0'dan başlar
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Yeni bir dikdörtgen şekli ekleyin
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// Şekil özelliklerini ayarla 
Shape rectangle = page.Shapes.GetShape(rectangleId);
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
rectangle.Type = TypeValue.Shape;
rectangle.Text.Value.Add(new Txt("Aspose Diagram"));
rectangle.TextStyle = diagram.StyleSheets[3];
rectangle.Line.LineColor.Value = "#ff0000";
rectangle.Line.LineWeight.Value = 0.03;
rectangle.Line.Rounding.Value = 0.1;
rectangle.Fill.FillBkgnd.Value = "#ff00ff";
rectangle.Fill.FillForegnd.Value = "#ebf8df";

diagram.Save(dataDir + "AddShape_out.vsdx", SaveFileFormat.VSDX);
Console.WriteLine("Shape has been added.");

Daha fazla ayrıntı için lütfen şekillerle çalışma sayfasını ziyaret edin.

C# dilinde Visio Sayfasına Metin Şekli Ekleme

Çeşitli durumlarda, Visio diyagramlarına metin de eklemeniz gerekir. Bunun için aşağıdaki adımları takip edebilirsiniz.

Aşağıdaki kod örneği, C# kullanarak bir VSDX diyagramına nasıl metin ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-diagram/Aspose.Diagram-for-.NET adresine gidin.
// Belgeler dizininin yolu.
string dataDir = RunExamples.GetDataDir_ShapeText();

// Yeni bir diyagram oluştur
Diagram diagram = new Diagram();
// Visio sayfasına parametreleri ayarlama ve metin ekleme
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// Diyagramı kaydet 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

Daha fazla ayrıntı için lütfen metinle çalışma sayfasını ziyaret edin.

Çözüm

Bu gönderide, sıfırdan Visio VSDX diyagramları oluşturmak için Aspose.Diagram for .NET’in bazı temel özelliklerini öğrendiniz. Kod örnekleri, C# kullanılarak VSDX diyagramlarında kalıpların, sayfaların, şekillerin ve metnin nasıl ekleneceğini göstermiştir. Belgeleri kullanarak API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız