保護取消保護 Visio 形狀

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 圖表文件中的形狀:

  1. 使用 Diagram 類加載源 Visio 圖表。
  2. 訪問頁面,然後使用其 ID 訪問特定形狀。
  3. 保護不同的形狀屬性免受更改。
  4. 保存輸出圖。

下面的代碼片段演示瞭如何在 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 圖表中的形狀:

  1. 加載輸入 Visio 圖表文件。
  2. 通過訪問特定頁面及其形狀取消對形狀的保護。
  3. 導出輸出 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 的各種其他功能。如果您有任何疑問,請隨時通過 論壇 與我們聯繫。

也可以看看