MS Visio เป็นแอปพลิเคชันยอดนิยมที่ช่วยให้คุณสามารถสร้างไดอะแกรมได้หลากหลาย เช่น ผังงาน ไดอะแกรมการไหลของข้อมูล แบบจำลองกระบวนการทางธุรกิจ และอื่นๆ VSDX เป็นรูปแบบไฟล์ที่ MS Visio ใช้ในการจัดเก็บ ไดอะแกรม เพื่อให้การจัดการ VSDX เป็นไปโดยอัตโนมัติ บทความนี้จะแสดงบทช่วยสอนพื้นฐานเกี่ยวกับวิธีสร้างไดอะแกรม Visio ตั้งแต่เริ่มต้นใน C# นอกจากนี้ยังครอบคลุมวิธีการแทรกหน้า รูปร่าง และข้อความในไดอะแกรม VSDX จากภายในแอปพลิเคชัน .NET
- C# Visio API - ดาวน์โหลดฟรี
- สร้าง MS Visio Diagram โดยใช้ C#
- เพิ่ม Master ให้กับ VSDX Diagram ใน C#
- แทรกหน้าในไดอะแกรม Visio ใน C#
- สร้างรูปร่างใน Visio Diagram ใน C#
- เพิ่มรูปร่างข้อความในหน้า Visio ใน C#
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 เปล่าตั้งแต่เริ่มต้น มีขั้นตอนดังต่อไปนี้:
- สร้างอินสแตนซ์ของคลาส Diagram
- ใช้เมธอด Diagram.Save(Sring fileName, SaveFileFormat.VSDX) เพื่อบันทึกไฟล์เป็น 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
- สร้างไดอะแกรมใหม่หรือโหลดไดอะแกรมที่มีอยู่โดยใช้คลาส ไดอะแกรม
- เพิ่มต้นแบบโดยใช้เมธอด Diagram.AddMaster(String fileName, Int masterID)
- เพิ่มรูปร่างจากต้นแบบไปยังไดอะแกรมโดยใช้เมธอด Diagram.AddShape(Double, Double, String, Int)
- บันทึกไดอะแกรมโดยใช้เมธอด Diagram.Save(Sring fileName, SaveFileFormat.VSDX)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มต้นแบบในไดอะแกรม 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 สำหรับสิ่งนี้ คุณสามารถทำตามขั้นตอนด้านล่าง
- สร้างไดอะแกรมใหม่หรือโหลดไดอะแกรมที่มีอยู่โดยใช้คลาส ไดอะแกรม
- เพิ่มข้อความไปยังหน้าใดหน้าหนึ่งโดยใช้เมธอด Diagram.Pages[0].AddText(PinX, PinY, Width, Height, “Test text”)
- บันทึกไดอะแกรม VSDX โดยใช้วิธี Diagram.Save(Sring fileName, SaveFileFormat.VSDX)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มข้อความในไดอะแกรม 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 ได้โดยใช้ เอกสารประกอบ