MS Visio یک برنامه محبوب است که به شما امکان می دهد طیف گسترده ای از نمودارها مانند نمودارهای جریان، نمودارهای جریان داده، مدل های فرآیند کسب و کار و غیره ایجاد کنید. VSDX فرمت فایلی است که MS Visio برای ذخیره سازی استفاده می کند. نمودارها به منظور خودکارسازی دستکاری VSDX، این مقاله یک آموزش اساسی از نحوه ایجاد نمودارهای Visio از ابتدا در سی شارپ را به شما ارائه می دهد. علاوه بر این، نحوه درج صفحات، اشکال و متن در نمودارهای VSDX از داخل برنامه های NET را پوشش می دهد.

C# Visio API - دانلود رایگان

Aspose.Diagram for .NET یک API غنی از ویژگی است که به شما امکان می دهد نمودارهای MS Visio را از داخل برنامه های NET خود ایجاد، ویرایش، تبدیل و پردازش کنید. API دستکاری نمودارهای VSDX را با ویژگی ها و روش های آسان برای شما آسان تر می کند. می‌توانید DLL API را دانلود یا با استفاده از NuGet در برنامه‌های NET خود نصب کنید.

Install-Package Aspose.Diagram

ایجاد Visio VSDX Diagram با استفاده از C#

اول از همه، بیایید یک نمودار VSDX خالی از ابتدا ایجاد کنیم. مراحل زیر برای انجام این کار آمده است:

نمونه کد زیر نحوه ایجاد نمودار Visio VSDX در سی شارپ را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به 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 در سی شارپ

Master برای اضافه کردن شابلون استفاده می شود که شامل مجموعه ای از اشکال برای استفاده در نمودارها است. اگر می خواهید Master را اضافه کنید، به یک فایل استنسیل VSS و شناسه اصلی نیاز دارید. در زیر مراحل اضافه کردن یک Master به نمودار Visio با استفاده از Aspose.Diagram آمده است.

نمونه کد زیر نحوه اضافه کردن یک Master به نمودار 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);

برای جزئیات بیشتر، لطفاً به [کار با استاد12 مراجعه کنید.

درج صفحات در نمودار Visio در سی شارپ

نمودارهای MS Visio از یک یا چند صفحه تشکیل شده و هر صفحه شامل نمودارها است. بنابراین، قبل از اضافه کردن یک شکل، باید یک صفحه را با استفاده از مراحل زیر اضافه کنید.

  • یک نمودار جدید ایجاد کنید یا یک نمودار موجود را با استفاده از کلاس Diagram بارگذاری کنید.
  • بررسی کنید که آیا نمودار قبلاً حاوی صفحه ای با استفاده از ویژگی Diagram.Pages.Count است.
  • اگر چنین شد، شناسه آخرین صفحه را با استفاده از ویژگی Diagram.Pages[index].ID دریافت کنید.
  • یک صفحه جدید با استفاده از کلاس Page ایجاد کنید و نام و شناسه آن را تنظیم کنید.
  • با استفاده از روش 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;

// یا سازنده Page را امتحان کنید
// صفحه newPage = صفحه جدید (MaxPageId + 1);

// یک صفحه خالی جدید اضافه کنید
diagram.Pages.Add(newPage);

// ذخیره نمودار
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

برای جزئیات بیشتر، لطفاً از [کار با صفحات18 دیدن کنید.

ایجاد یک شکل در Visio Diagram با استفاده از C#

شکل ها بلوک های سازنده نمودارهای Visio هستند. MS Visio از طیف گسترده ای از اشکال برای ایجاد نمودار در حوزه های مختلف پشتیبانی می کند. مراحل زیر نحوه درج یک شکل در Visio Diagram را نشان می دهد.

  • با استفاده از کلاس Diagram یک نمودار جدید ایجاد کنید یا یک نمودار موجود را بارگذاری کنید.
  • یک صفحه ایجاد کنید یا صفحه مورد نظر را در یک شی Page دریافت کنید.
  • با استفاده از روش Diagram.AddMaster(String fileName, Int masterID) به نمودار اصلی اضافه کنید.
  • با استفاده از روش Diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex) یک شکل مستطیلی جدید اضافه کنید.
  • شناسه شکلی که با متد Diagram.AddShape() بازگردانده شده است را ذخیره کنید.
  • با استفاده از روش Page.Shapes.GetShape(Long ID) شکل تازه اضافه شده در شی Shape را بازیابی کنید.
  • ویژگی های شکل مانند متن، رنگ و غیره را تنظیم کنید.
  • نمودار 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.");

برای جزئیات بیشتر، لطفاً به [کار با اشکال23 مراجعه کنید.

اضافه کردن یک شکل متن در صفحه Visio در سی شارپ

در موارد مختلف، شما همچنین باید متنی را به نمودارهای Visio اضافه کنید. برای این کار می توانید مراحل زیر را دنبال کنید.

  • با استفاده از کلاس Diagram یک نمودار جدید ایجاد کنید یا یک نمودار موجود را بارگذاری کنید.
  • با استفاده از روش [Diagram.Pages[0]، متن را به یک صفحه خاص اضافه کنید.
  • نمودار 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 برای دات نت را برای ایجاد نمودارهای Visio VSDX از ابتدا یاد گرفتید. نمونه‌های کد نشان داده‌اند که چگونه با استفاده از سی شارپ، مسترها، صفحات، اشکال و متن را در نمودارهای VSDX اضافه کنید. می‌توانید با استفاده از مستندات درباره API بیشتر کاوش کنید.

همچنین ببینید