没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-12-03 10:19:11.807|阅读 532 次
概述:为了使VSDX操作自动化,本文为您提供了有关如何在C#中从头创建VSDX图的基础教程。此外,它还介绍了如何从.NET应用程序中在VSDX图中插入页面,形状和文本。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
MS Visio是一种流行的应用程序,可让您创建各种图,例如流程图,数据流程图,业务流程模型等。VSDX是MS Visio用于存储图的文件格式。
Aspose.Diagram for .NET是专门用于处理Microsoft Visio文件的API。它允许开发人员创建,操作和转换本机Visio文件格式。使用Aspose.Diagram for .NET,您不仅可以绘制基本但复杂的形状,如 Bezier,Spline,Polyline,并且只使用几行代码。
(安装包仅提供部分功能,并设置限制,如需试用完整功能请。)
为了使VSDX操作自动化,本文为您提供了有关如何在C#中从头创建VSDX图的基础教程。此外,它还介绍了如何从.NET应用程序中在VSDX图中插入页面,形状和文本。
使用C#创建MS Visio VSDX图
首先,让我们从头开始创建一个空的VSDX图。以下是执行此操作的步骤:
下面的代码示例演示如何在C#中创建MS Visio VSDX图表。
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Diagrams();
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Initialize a new Visio
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// Save in the VSDX format
diagram.Save(dataDir, SaveFileFormat.VSDX);
在C#中将Master添加到VSDX图
母版用于添加模具,该模具包含将在图中使用的形状的集合。如果要添加母版,则需要VSS模板文件和母版ID。以下是使用Aspose.Diagram向Visio图表添加母版的步骤。
下面的代码示例演示如何使用C#将母版添加到Visio图。
// The path to the documents directory. string dataDir = RunExamples.GetDataDir_Master(); // Load diagram Diagram diagram = new Diagram(); // Load stencil to a stream string templateFileName = dataDir + "NetApp-FAS-series.vss"; Stream stream = new FileStream(templateFileName, FileMode.Open); // Add master with stencil file path and master id string masterName = "FAS80xx rear empty"; diagram.AddMaster(templateFileName, 2); // Add master with stencil file path and master name diagram.AddMaster(templateFileName, masterName); // Add master with stencil file stream and master id diagram.AddMaster(stream, 2); // Adds master to diagram from source diagram Diagram src = new Diagram(templateFileName); diagram.AddMaster(src, masterName); // Add master with stencil file stream and master id diagram.AddMaster(stream, masterName); // Adds shape with defined PinX and PinY. diagram.AddShape(2.0, 2.0, masterName, 0); diagram.AddShape(6.0, 6.0, masterName, 0); // Adds shape with defined PinX,PinY,Width and Height. diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);
在C#中的Visio图表中插入页面
MS Visio图表由一页或多页组成,每页都包含图表。因此,在添加形状之前,您需要使用以下步骤添加页面。
下面的代码示例演示如何使用C#在Visio VSDX图中添加页面。
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_VisioPages();
// Load diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// It calculates max page id
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; } // Set max page ID int MaxPageId = max; // Initialize a new page object Page newPage = new Page(); // Set name newPage.Name = "new page"; // Set page ID newPage.ID = MaxPageId + 1; // Or try the Page constructor // Page newPage = new Page(MaxPageId + 1); // Add a new blank page diagram.Pages.Add(newPage); // Save diagram diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);
使用C#在VSDX图中创建形状
形状是Visio图的基础。MS Visio支持各种形状,可以在各个领域中创建图表。以下步骤显示了如何在Visio图表中插入形状。
下面的代码示例演示如何使用C#在VSDX图中添加形状。
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_Shapes();
// Load a diagram
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// Get page by name
Page page = diagram.Pages.GetPage("Page-2");
// Add master with stencil file path and master name
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
// Page indexing starts from 0
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Add a new rectangle shape
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
// Set shape properties
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.");
在C#中的Visio页面中添加文本形状
在各种情况下,您还需要向Visio图中添加文本。为此,您可以按照以下步骤操作。
下面的代码示例演示如何使用C#在VSDX图中添加文本。
// For complete examples and data files, please go to //github.com/aspose-diagram/Aspose.Diagram-for-.NET // The path to the documents directory. string dataDir = RunExamples.GetDataDir_ShapeText(); // Create a new diagram Diagram diagram = new Diagram(); // Set parameters and add text to a Visio page double PinX = 1, PinY = 1, Width = 1, Height = 1; diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text"); // Save diagram diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn




在自动化单元测试过程中,针对包含复杂数据类型或依赖外部资源的函数参数,测试工具往往难以自动生成有效的测试输入。为此,Parasoft C/C++test 提供了工厂函数机制,允许用户通过自定义的初始化逻辑,指导测试引擎构造合法且适用的参数对象。
Parasoft C/C++test提供了独立版和插件版两种部署方案,其中插件版能够与Aurix开发环境深度集成,有效解决编译器调用限制问题,为安全关键系统的代码质量保障提供了可行的技术路径。
本文将为大家介绍一些MyEclipse开发过程中能用到的EJB开发工具,欢迎下载最新版体验!
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
半岛外围网上直营