Microsoft Visio 文件可以包含不同的頁面、形狀、圖層和其他圖表對象。您可以使用 Java 輕鬆創建、編輯或操作 Microsoft Visio 圖表文件。同樣,您可以保護或取消保護 Visio 文件或其形狀以避免對數據進行任何更改。讓我們通過以下主題了解更多詳細信息:
- 保護或取消保護 Visio 圖表文件和形狀 – Java API 安裝
- 使用 Java 以編程方式保護 Visio 圖表文件免受更改
- 使用 Java 取消保護 Visio 圖表文件
- 使用 Java 保護 Visio 形狀免受更改
- 在 Java 中取消保護 Visio 形狀
保護或取消保護 Visio 圖表文件和形狀 – Java API 安裝
Aspose.Diagram for Java API 允許您使用與 Microsoft Visio 相關的格式,如 VSDX、VSDM、VSD 和其他幾種文件格式。您無需安裝任何第三方應用程序即可使用這些文件。此外,安裝 API 很簡單,因為您可以從 下載 部分快速下載其 JAR 文件,或者使用以下詳細信息從 Aspose Repository 安裝它:
存儲庫:
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
依賴:
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-diagram</artifactId>
<version>21.2</version>
<classifier>jdk16</classifier>
</dependency>
</dependencies>
使用 Java 保護 Visio 圖表文件免受更改
VSD、VSDX、VSTX 或 VDW 等 Microsoft Visio 文件可以包含大量關於圖表、流程、流程圖等的信息。 Visio 圖表文件可能包含背景、母版、形狀、樣式等,您可以保護這些內容以避免任何更改。請按照以下步驟保護 Visio 圖表文件:
- 使用 Diagram 類加載輸入 Visio 文件
- 保護 Visio 文件的背景、形狀、主控形狀和样式。
- 保存受保護的輸出圖文件。
下面的代碼顯示瞭如何使用 Java 保護 Visio 圖表文件:
// 加載輸入 Visio 圖表文件
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");
// 保護 Visio 文件的背景、形狀、主控形狀和样式
diagram.getDocumentSettings().setProtectBkgnds(BOOL.TRUE);
diagram.getDocumentSettings().setProtectMasters(BOOL.TRUE);
diagram.getDocumentSettings().setProtectShapes(BOOL.TRUE);
diagram.getDocumentSettings().setProtectStyles(BOOL.TRUE);
// 保存受保護的輸出圖文件
diagram.save(dataDir + "VisioDiagramProtection_Out.vdx", SaveFileFormat.VDX);
使用 Java 取消保護 Visio 圖表文件
有時您可能需要更新受保護的圖表文件。首先,您需要取消對此類文件的保護,然後再對它們進行進一步處理。以下步驟詳細說明瞭如何取消保護 Visio 圖表:
- 加載受保護的輸入 Visio 圖表文件。
- 使用 DocumentSettings 類取消保護背景、形狀、主形狀和样式。
- 最後,保存未受保護的輸出圖文件。
以下代碼詳細說明瞭如何使用 Java 取消保護 Visio 圖表文件:
// 加載受保護的輸入 Visio 圖表文件
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");
// 取消保護背景、形狀、主形狀和样式
diagram.getDocumentSettings().setProtectBkgnds(BOOL.FALSE);
diagram.getDocumentSettings().setProtectMasters(BOOL.FALSE);
diagram.getDocumentSettings().setProtectShapes(BOOL.FALSE);
diagram.getDocumentSettings().setProtectStyles(BOOL.FALSE);
// 保存未受保護的輸出圖文件
diagram.save(dataDir + "VisioDiagram_Unprotected.vdx", SaveFileFormat.VDX);
使用 Java 保護 Visio 形狀免受更改
Visio 圖表由不同的形狀組成。組合起來形成圖表或繪圖。您可以移動、旋轉、刪除或修改不同的形狀以獲得效果。此外,您還可以通過限制形狀的不同屬性來避免對 Visio 形狀進行任何更改。讓我們繼續學習如何保護 Visio 形狀免受任何更改,步驟如下:
- 加載輸入圖。
- 按名稱獲取頁面。
- 通過 ID 獲取形狀。
- 設置不同的形狀保護。
- 保存受保護的輸出 Visio 圖表。
下面的代碼片段解釋瞭如何保護 Visio 形狀免受 Java 更改的影響:
// 負載輸入圖
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");
// 按名稱獲取頁面
Page page = diagram.getPages().getPage("Flow 1");
// 通過 ID 獲取形狀
Shape shape = page.getShapes().getShape(1);
// 設置保護
shape.getProtection().getLockAspect().setValue(BOOL.TRUE);
shape.getProtection().getLockCrop().setValue(BOOL.TRUE);
shape.getProtection().getLockCustProp().setValue(BOOL.TRUE);
shape.getProtection().getLockDelete().setValue(BOOL.TRUE);
shape.getProtection().getLockHeight().setValue(BOOL.TRUE);
shape.getProtection().getLockMoveX().setValue(BOOL.TRUE);
shape.getProtection().getLockMoveY().setValue(BOOL.TRUE);
shape.getProtection().getLockRotate().setValue(BOOL.TRUE);
shape.getProtection().getLockTextEdit().setValue(BOOL.TRUE);
// 保存受保護的輸出 visio 圖
diagram.save(dataDir + "VisioShapeProtection_Out.vdx", SaveFileFormat.VDX);
使用 Java 取消保護 Visio 形狀
您可能需要取消保護 Visio 圖表形狀以更改或更新其內容。以下步驟顯示如何取消保護 Visio 形狀:
- 加載輸入 Visio 圖表。
- 按名稱訪問頁面。
- 通過 ID 獲取形狀。
- 使用 Bool 值取消保護 Visio 形狀。
- 最後,保存輸出 Visio 圖表。
下面的代碼顯示瞭如何使用 Java 取消保護 Visio 圖表形狀:
// 加載輸入 Visio 圖
Diagram diagram = new Diagram(dataDir + "ProtectAndUnprotect.vsd");
// 按名稱獲取頁面
Page page = diagram.getPages().getPage("Flow 1");
// 通過 ID 獲取形狀
Shape shape = page.getShapes().getShape(1);
// 取消保護 Visio 形狀
shape.getProtection().getLockAspect().setValue(BOOL.FALSE);
shape.getProtection().getLockCrop().setValue(BOOL.FALSE);
shape.getProtection().getLockCustProp().setValue(BOOL.FALSE);
shape.getProtection().getLockDelete().setValue(BOOL.FALSE);
shape.getProtection().getLockHeight().setValue(BOOL.FALSE);
shape.getProtection().getLockMoveX().setValue(BOOL.FALSE);
shape.getProtection().getLockMoveY().setValue(BOOL.FALSE);
shape.getProtection().getLockRotate().setValue(BOOL.FALSE);
shape.getProtection().getLockTextEdit().setValue(BOOL.FALSE);
// 使用未受保護的形狀保存輸出 Visio 圖
diagram.save(dataDir + "VisioShape_unprotect.vdx", SaveFileFormat.VDX);
結論
在本文中,您了解瞭如何保護或取消保護 Visio 圖表文件。同樣,您已經閱讀瞭如何使用 Java 語言保護和取消保護形狀免受更改。此外,您可以通過訪問文檔找到Aspose.Diagram for Java API 的許多其他功能。如有任何疑慮,請隨時通過 免費支持論壇 與我們聯繫。