Visio 文件包含各種類型的形狀和連接器以創建不同的圖表。在某些情況下,您可能希望保護特定形狀不被更改。在此類情況下,本文介紹瞭如何在 C# 中以編程方式保護或取消保護 Visio 圖表中的形狀。
保護或取消保護 Visio 形狀文件 – .NET API 安裝
Aspose.Diagram for .NET API 支持創建或編輯不同類型的圖表,如流程圖、組織結構圖等。您可以使用各種文件格式,而無需安裝 Microsoft Visio 應用程序.您可以通過從 下載 部分下載參考 DLL 文件或運行下面的 NuGet 安裝命令輕鬆安裝 API:
PM> Install-Package Aspose.Diagram
保護 Visio 形狀免受 C# 中的更改
您可以設置不同的屬性以防止 Visio 圖表中的形狀發生更改。例如,您可以鎖定文本編輯、旋轉、高度等。請按照以下步驟保護 VSD 或 VSDX Visio 圖表文件中的形狀:
- 使用 Diagram 類加載源 Visio 圖表。
- 訪問頁面,然後使用其 ID 訪問特定形狀。
- 保護不同的形狀屬性免受更改。
- 保存輸出圖。
下面的代碼片段演示瞭如何在 C# 中以編程方式保護 Visio 形狀:
// 負載輸入圖
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram("ProtectAndUnprotect.vsd");
// 按名稱獲取頁面
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");
// 通過 ID 獲取形狀
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);
// 設置保護
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.True;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.True;
// 保存受保護的輸出 visio 圖
diagram.Save("VisioShapeProtection_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);
在 C# 中取消保護 Visio 形狀
您可以按照以下步驟取消保護 Visio 圖表中的形狀:
- 加載輸入 Visio 圖表文件。
- 通過訪問特定頁面及其形狀取消對形狀的保護。
- 導出輸出 Visio 文件。
以下代碼示例顯示如何在 C# 中以編程方式取消保護 Visio 圖表中的形狀:
// 負載輸入圖
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram(dataDir + "ProtectAndUnprotect.vsd");
// 按名稱獲取頁面
Aspose.Diagram.Page page = diagram.Pages.GetPage("Flow 1");
// 通過 ID 獲取形狀
Aspose.Diagram.Shape shape = page.Shapes.GetShape(1);
// 取消保護 Visio 形狀
shape.Protection.LockAspect.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCrop.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockCustProp.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockDelete.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockHeight.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveX.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockMoveY.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockRotate.Value = Aspose.Diagram.BOOL.False;
shape.Protection.LockTextEdit.Value = Aspose.Diagram.BOOL.False;
// 保存未受保護的輸出visio圖
diagram.Save("VisioShape_unProtect_Out.vdx", Aspose.Diagram.SaveFileFormat.VDX);
結論
在本文中,您了解瞭如何在 C# 中以編程方式保護或取消保護 VSD 或 VSDX 格式的 Visio 圖表文件中的形狀。此外,您可以查看 文檔 空間以了解 API 的各種其他功能。如果您有任何疑問,請隨時通過 論壇 與我們聯繫。