MS Visio เป็นแอปพลิเคชันยอดนิยมที่ช่วยให้คุณสามารถสร้างไดอะแกรมได้หลากหลาย เช่น ผังงาน ไดอะแกรมการไหลของข้อมูล แบบจำลองกระบวนการทางธุรกิจ และอื่นๆ VSDX เป็นรูปแบบไฟล์ที่ MS Visio ใช้ในการจัดเก็บ ไดอะแกรม เพื่อให้การจัดการ VSDX เป็นไปโดยอัตโนมัติ บทความนี้จะแสดงบทช่วยสอนพื้นฐานเกี่ยวกับวิธีสร้างไดอะแกรม Visio ตั้งแต่เริ่มต้นใน C# นอกจากนี้ยังครอบคลุมวิธีการแทรกหน้า รูปร่าง และข้อความในไดอะแกรม VSDX จากภายในแอปพลิเคชัน .NET

C# Visio API - ดาวน์โหลดฟรี

Aspose.Diagram for .NET เป็น API ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้าง แก้ไข แปลง และประมวลผลไดอะแกรม MS Visio จากภายในแอปพลิเคชัน .NET ของคุณ API ช่วยให้คุณจัดการไดอะแกรม VSDX ได้ง่ายขึ้นด้วยคุณสมบัติและวิธีการที่ใช้งานง่าย คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งภายในแอปพลิเคชัน .NET ของคุณโดยใช้ NuGet

Install-Package Aspose.Diagram

สร้างไดอะแกรม Visio VSDX โดยใช้ C#

ก่อนอื่นมาสร้างไดอะแกรม VSDX เปล่าตั้งแต่เริ่มต้น มีขั้นตอนดังต่อไปนี้:

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างไดอะแกรม Visio VSDX ใน C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_Diagrams();

// สร้างไดเร็กทอรีหากยังไม่มี
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// เริ่มต้น Visio ใหม่
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// บันทึกในรูปแบบ VSDX
diagram.Save(dataDir, SaveFileFormat.VSDX);

เพิ่ม Master ลงใน Visio Diagram ใน C#

Master ใช้เพื่อเพิ่ม stencil ซึ่งมีคอลเลกชันของรูปร่างที่จะใช้ในไดอะแกรม หากคุณต้องการเพิ่มต้นแบบ คุณต้องมีไฟล์สเตนซิล VSS และรหัสหลัก ต่อไปนี้เป็นขั้นตอนในการเพิ่มต้นแบบไปยังไดอะแกรม Visio โดยใช้ Aspose.Diagram

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มต้นแบบในไดอะแกรม Visio โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_Master();

// โหลดไดอะแกรม
Diagram diagram = new Diagram();

// โหลดลายฉลุไปยังสตรีม
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// เพิ่มต้นแบบด้วยเส้นทางไฟล์ลายฉลุและรหัสหลัก
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// เพิ่มต้นแบบด้วยเส้นทางไฟล์ลายฉลุและชื่อต้นแบบ
diagram.AddMaster(templateFileName, masterName);

// เพิ่มต้นแบบด้วยสตรีมไฟล์ลายฉลุและรหัสหลัก
diagram.AddMaster(stream, 2);

// เพิ่มต้นแบบไดอะแกรมจากซอร์สไดอะแกรม
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// เพิ่มต้นแบบด้วยสตรีมไฟล์ลายฉลุและรหัสหลัก
diagram.AddMaster(stream, masterName);

// เพิ่มรูปร่างด้วย PinX และ PinY ที่กำหนด
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// เพิ่มรูปร่างด้วย PinX, PinY, ความกว้างและความสูงที่กำหนด
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ การทำงานร่วมกับมาสเตอร์

แทรกหน้าในไดอะแกรม Visio ใน C#

ไดอะแกรม MS Visio ประกอบด้วยหนึ่งหน้าขึ้นไป และแต่ละหน้าประกอบด้วยไดอะแกรม ดังนั้น ก่อนที่จะเพิ่มรูปร่าง คุณต้องเพิ่มหน้าโดยใช้ขั้นตอนต่อไปนี้

  • สร้างไดอะแกรมใหม่หรือโหลดไดอะแกรมที่มีอยู่โดยใช้คลาส ไดอะแกรม
  • ตรวจสอบว่าไดอะแกรมมีเพจอยู่แล้วโดยใช้คุณสมบัติ Diagram.Pages.Count
  • หากเป็นเช่นนั้น ให้รับ ID ของหน้าสุดท้ายโดยใช้คุณสมบัติ Diagram.Pages[index].ID
  • สร้างเพจใหม่โดยใช้คลาส Page และตั้งชื่อและ ID
  • เพิ่มหน้าในไดอะแกรมโดยใช้เมธอด Diagram.Pages.Add(Page)
  • บันทึกไดอะแกรม VSDX โดยใช้วิธี Diagram.Save(Sring fileName, SaveFileFormat.VSDX)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มหน้าในไดอะแกรม Visio VSDX โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_VisioPages();

// โหลดไดอะแกรม
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// มันคำนวณรหัสหน้าสูงสุด
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;
}

// กำหนดรหัสหน้าสูงสุด
int MaxPageId = max;

// เริ่มต้นวัตถุหน้าใหม่
Page newPage = new Page();
// ชื่อชุด
newPage.Name = "new page";
// กำหนดรหัสหน้า
newPage.ID = MaxPageId + 1;

// หรือลองใช้ตัวสร้างเพจ
// หน้า newPage = หน้าใหม่ (MaxPageId + 1);

// เพิ่มหน้าเปล่าใหม่
diagram.Pages.Add(newPage);

// บันทึกไดอะแกรม
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ การทำงานกับเพจ

สร้างรูปร่างใน Visio Diagram โดยใช้ C#

รูปร่างเป็นส่วนประกอบสำคัญของไดอะแกรม Visio MS Visio รองรับรูปร่างที่หลากหลายเพื่อสร้างไดอะแกรมในโดเมนต่างๆ ขั้นตอนต่อไปนี้แสดงวิธีการแทรกรูปร่างใน Visio Diagram

  • สร้างไดอะแกรมใหม่หรือโหลดไดอะแกรมที่มีอยู่โดยใช้คลาส ไดอะแกรม
  • สร้างหน้าหรือรับหน้าที่ต้องการในวัตถุหน้า
  • เพิ่มต้นแบบไปยังไดอะแกรมโดยใช้เมธอด Diagram.AddMaster(String fileName, Int masterID)
  • เพิ่มรูปทรงสี่เหลี่ยมผืนผ้าใหม่โดยใช้เมธอด Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex)
  • เก็บ ID รูปร่างที่ส่งคืนโดยเมธอด Diagram.AddShape()
  • ดึงรูปร่างที่เพิ่มใหม่ในวัตถุ Shape โดยใช้วิธี Page.Shapes.GetShape(long ID)
  • กำหนดคุณสมบัติของรูปร่าง เช่น ข้อความ สี เป็นต้น
  • บันทึกไดอะแกรม VSDX โดยใช้วิธี Diagram.Save(Sring fileName, SaveFileFormat.VSDX)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มรูปร่างในไดอะแกรม Visio โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_Shapes();

// โหลดไดอะแกรม
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// รับหน้าตามชื่อ
Page page = diagram.Pages.GetPage("Page-2");

// เพิ่มต้นแบบด้วยเส้นทางไฟล์ลายฉลุและชื่อต้นแบบ
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// การทำดัชนีหน้าเริ่มต้นจาก 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// เพิ่มรูปสี่เหลี่ยมผืนผ้าใหม่
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// ตั้งค่าคุณสมบัติรูปร่าง 
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.");

สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ การทำงานกับรูปร่าง

เพิ่มรูปร่างข้อความในหน้า Visio ใน C#

ในหลายกรณี คุณต้องเพิ่มข้อความลงในไดอะแกรม Visio สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่าง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มข้อความในไดอะแกรม VSDX โดยใช้ C#

// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-diagram/Aspose.Diagram-for-.NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = RunExamples.GetDataDir_ShapeText();

// สร้างไดอะแกรมใหม่
Diagram diagram = new Diagram();
// ตั้งค่าพารามิเตอร์และเพิ่มข้อความลงในหน้า Visio
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// บันทึกไดอะแกรม 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

สำหรับรายละเอียดเพิ่มเติม โปรดไปที่ การทำงานกับข้อความ

บทสรุป

ในโพสต์นี้ คุณได้เรียนรู้คุณสมบัติพื้นฐานบางประการของ Aspose.Diagram for .NET เพื่อสร้างไดอะแกรม Visio VSDX ตั้งแต่เริ่มต้น ตัวอย่างโค้ดแสดงวิธีเพิ่มต้นแบบ หน้า รูปร่าง และข้อความในไดอะแกรม VSDX โดยใช้ C# คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ API ได้โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย