Tạo biểu đồ tổ chức bằng Python

Chủ đề này bao gồm cách tạo biểu đồ tổ chức bằng Python. Nó bao gồm cài đặt hệ thống, quy trình từng bước và một mẫu mã có thể chạy để tạo công cụ tạo biểu đồ tổ chức bằng Python. Hơn nữa, bạn có thể thực hiện các tùy chỉnh khác nhau cho biểu đồ tổ chức và xuất biểu đồ đầu ra ở định dạng VSDX hoặc VSD tùy theo yêu cầu của bạn.

Các bước tạo biểu đồ tổ chức bằng Python

  1. Thiết lập Aspose.Diagram trong hệ thống của bạn để tạo biểu đồ tổ chức
  2. Khởi tạo một thể hiện của lớp Diagram để tải các hình dạng chính từ một mẫu stencil
  3. Thêm các hình dạng cần thiết và chèn kết nối giữa các nút khác nhau
  4. Đặt các thuộc tính biểu đồ khác nhau bằng lớp LayoutOptions và hiển thị biểu đồ tổ chức đầu ra

Các bước trên phác thảo quy trình làm việc để phát triển một công cụ tạo biểu đồ tổ chức bằng Python. Đầu tiên, cấu hình cài đặt hệ thống và tải các hình dạng chính mẫu từ một tệp stencil. Sau đó, chèn các hình dạng mục tiêu và các kết nối tương ứng vào biểu đồ tổ chức trước khi ghi biểu đồ đầu ra.

Mã để tạo công cụ tạo biểu đồ tổ chức bằng Python

import aspose.diagram
from aspose.diagram import *
path = "C://"
# Load masters from any existing diagram, stencil or template
visioStencil = path + "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5
# Define values to construct the hierarchy
listPos = ["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 dictionary to map the string name to long shape id
shapeIdMap = {}
# Create a new diagram
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0
for orgnode in listPos:
# Add a new rectangle shape
rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
pinX += 1
pinY += 1
# Set the new shape's properties
shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
shape.text.value.add(Txt(orgnode))
shape.name = orgnode
shapeIdMap[orgnode] = rectangleId
# Create connections between nodes
for orgName in listPos:
lastColon = orgName.rfind(':')
if lastColon > 0:
parentName = orgName[:lastColon]
shapeId = shapeIdMap[orgName]
parentId = shapeIdMap[parentName]
connector1 = Shape()
connecter1Id = diagram.add_shape(connector1, connectorMaster, pageNumber)
diagram.pages[pageNumber].connect_shapes_via_connector(parentId, manipulation.ConnectionPointPlace.RIGHT,
shapeId, manipulation.ConnectionPointPlace.LEFT, connecter1Id)
# Auto layout CompactTree chart
compactTreeOptions = autolayout.LayoutOptions()
compactTreeOptions.layout_style = autolayout.LayoutStyle.COMPACT_TREE
compactTreeOptions.direction = autolayout.LayoutDirection.DOWN_THEN_RIGHT
compactTreeOptions.enlarge_page = False
diagram.pages[pageNumber].layout(compactTreeOptions)
# Save diagram
diagram.save("ORGchart_out.vsdx", SaveFileFormat.VSDX)

Đoạn mã này minh họa tính năng tạo một công cụ xây dựng biểu đồ tổ chức bằng Python. Tuy nhiên, bạn có thể cải tiến nó bằng cách điều chỉnh số lượng hoặc thứ tự của các hình dạng, cũng như hướng kết nối, vị trí, v.v. Tương tự, bạn có thể sửa đổi các hình dạng nút và kết nối bằng cách thao tác ID hình dạng cha và các thuộc tính khác để đáp ứng yêu cầu của bạn.

Hướng dẫn nhanh này đã bao gồm thông tin về việc tạo một công cụ tạo biểu đồ tổ chức bằng Python. Trong khi đó, nếu bạn quan tâm đến việc tạo sơ đồ Visio từ đầu, hãy đọc bài viết Tạo sơ đồ Visio bằng Python.

 Tiếng Việt