在 Java 中的 VDW 中創建組織結構圖
使用服務器端 Aspose.Diagram for Java API 在 VDW 文檔中創建本地和高性能的組織結構圖,無需使用任何軟件,如 Microsoft 或 Open Office、Adobe PDF。
如何使用 Java 在 VDW 文件中創建組織結構圖
為了在 VDW 文件中創建組織結構圖,我們將使用
API 是一個功能豐富、功能強大且易於使用的合併API for Java 平台。您可以直接從
並通過將以下配置添加到 pom.xml 將其安裝在基於 Maven 的項目中。
存儲庫
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依賴
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-diagram</artifactId>
<version>version of aspose-diagram API</version>
<classifier>jdk17</classifier>
</dependency>
在 Java 中的 VDW 文件中創建組織結構圖的步驟
創建組織結構圖
只需幾行代碼即可完成 API。
- 從模板創建 diagram。
- 通過其 id 選擇頁面
- 將組織節點形狀添加到頁面。
- 將連接器添加到頁面以連接形狀及其父級。 通過調用佈局方法自動佈局 調用 save() 方法並將文件名(完整路徑)和格式(VSDX)作為參數傳遞。
- 現在您可以在 Microsoft Office、Adobe PDF 或任何其他兼容程序中打開和使用 VSDX 文件。
系統要求
Aspose.Diagram for Java 支持所有主要平台和操作系統。請確保您具有以下先決條件。
- Microsoft Windows 或具有Java JSP/JSF 應用程序和桌面應用程序運行時環境的兼容操作系統。- 直接從 Aspose.Diagram for Java 獲取最新版本 Maven .
在 VDW 文件中創建組織結構圖 - Java
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DrawCompactTreeChart.class); | |
// Load masters from any existing diagram, stencil or template | |
// And add in the new diagram | |
String visioStencil = dataDir + "Basic Shapes.vss"; | |
String rectangleMaster = "Rectangle"; | |
String connectorMaster = "Dynamic connector"; | |
int pageNumber = 0; | |
double width = 1; | |
double height = 1; | |
double pinX = 4.25; | |
double pinY = 9.5; | |
// Define values to construct the hierarchy | |
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" }); | |
// Define a Hashtable to map the string name to long shape id | |
Hashtable shapeIdMap = new Hashtable(); | |
// Create a new diagram | |
Diagram diagram = new Diagram(visioStencil); | |
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11); | |
for (String orgnode : listPos) | |
{ | |
// Add a new rectangle shape | |
long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber); | |
// Set the new shape's properties | |
Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId); | |
shape.getText().getValue().add(new Txt(orgnode)); | |
shape.setName(orgnode); | |
shapeIdMap.put(orgnode, rectangleId); | |
} | |
// Create connections between nodes | |
for (String orgName : listPos) | |
{ | |
int lastColon = orgName.lastIndexOf(':'); | |
if(lastColon > 0) | |
{ | |
String parendName = orgName.substring(0, lastColon); | |
long shapeId = (long)shapeIdMap.get(orgName); | |
long parentId = (long)shapeIdMap.get(parendName); | |
Shape connector1 = new Shape(); | |
long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber); | |
diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT, | |
shapeId, ConnectionPointPlace.LEFT, connecter1Id); | |
} | |
} | |
//auto layout CompactTree chart | |
LayoutOptions compactTreeOptions = new LayoutOptions(); | |
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE); | |
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT); | |
compactTreeOptions.setEnlargePage(false); | |
diagram.getPages().get(pageNumber).layout(compactTreeOptions); | |
// Save diagram | |
diagram.save(dataDir + "DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX); |
關於Aspose.Diagram for Java API
Aspose.Diagram 是 Microsoft Visio 文檔格式操作 API。您可以輕鬆加載、創建、修改、操作包括圖形元素在內的 Visio 圖表轉換為其他格式,例如 PDF、XPS、JPEG、PNG、BMP、TIFF、SVG、EMF 等。它是一個獨立的 API,不需要安裝 Microsoft Visio 或任何其他軟件。在線 VDW CompactTree 風格組織結構圖現場演示
立即通過訪問我們的 VDW 文檔創建 CompactTree 樣式組織結構圖 現場演示網站 .現場演示有以下好處
VDW 什麼是 VDW 文件格式
VDW 是 Visio 圖形服務文件格式,它指定呈現 Web 繪圖所需的流和存儲。 Web 繪圖是繪圖頁面、形狀、字體、圖像、數據連接和diagram更新信息的集合,可以呈現為矢量或光柵繪圖。 VDW 文件也可以在 Microsoft Visio 中打開,但主要保存在網絡上使用。 Microsoft Visio 能夠將 Visio 文件轉換為多種不同的文件格式,包括 PNG、BMP、PDF 等。
閱讀更多