조직도는 기업, 정부, 조직의 계층과 구조를 시각적으로 표현하며 정책 수립, 기획 등의 목적을 수행합니다. 다양한 모양과 연결선을 활용하여 다양한 유형의 차트를 디자인할 수 있습니다. 이 문서에서는 Python으로 회사 조직 차트를 만드는 방법에 대한 단계별 가이드를 제공하여 조직 구조를 효과적으로 설명하고 전달할 수 있습니다.
이 문서에서는 다음 주제를 다룹니다.
Python 조직도 작성기 API – 무료 다운로드
회사 조직도를 생성하기 위해 Aspose.Diagram for Python을 사용하겠습니다. 개발자가 Visio 다이어그램을 프로그래밍 방식으로 생성, 조작 및 변환할 수 있는 강력한 API입니다. Aspose.Diagram for Python을 사용하면 조직 차트의 생성 및 업데이트를 자동화하여 HR, 관리 및 비즈니스 분석 애플리케이션을 위한 필수 도구로 만들 수 있습니다.
패키지를 다운로드하거나 콘솔에서 다음 pip 명령을 사용하여 PyPI에서 API를 설치하세요.
pip install aspose-diagram-python
CompactTree 스타일로 회사 조직도 만들기
아래 단계에 따라 CompactTree 스타일로 회사 조직도를 쉽게 만들 수 있습니다.
- 기존 다이어그램, 스텐실 또는 템플릿에서 마스터를 로드합니다.
- 계층 구조를 구성하는 데 필요한 값을 정의합니다.
- Diagram 클래스의 인스턴스를 만듭니다.
- 노드 사이에 모양과 연결을 추가합니다.
- LayoutOptions를 지정하고 LayoutStyle.COMPACTTREE를 설정합니다.
- save() 메서드를 사용하여 출력 다이어그램을 저장합니다.
다음 코드 샘플은 Python을 사용하여 CompactTree 스타일로 회사 조직도를 만드는 방법을 보여줍니다.
# 이 코드 샘플은 CompactTree 스타일로 회사 조직도를 만드는 방법을 보여줍니다.
import aspose.diagram
from aspose.diagram import *
# 기존 다이어그램, 스텐실 또는 템플릿에서 마스터 로드
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5
# 계층 구조를 구성하기 위한 값 정의
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"]
# 문자열 이름을 긴 모양 ID에 매핑하도록 사전을 정의합니다.
shapeIdMap = {}
# 새 다이어그램 만들기
diagram = Diagram(visioStencil)
diagram.pages[pageNumber].page_sheet.page_props.page_width.value = 11.0
for orgnode in listPos:
# 새 직사각형 모양 추가
rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
pinX += 1
pinY += 1
# 새 모양의 속성을 설정합니다.
shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
shape.text.value.add(Txt(orgnode))
shape.name = orgnode
shapeIdMap[orgnode] = rectangleId
# 노드 간 연결 생성
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)
# 자동 레이아웃 CompactTree 차트
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)
# 다이어그램 저장
diagram.save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX)
순서도 스타일로 조직도 만들기
마찬가지로 위에서 언급한 단계에 따라 FlowChart 스타일로 회사 조직도를 만들 수도 있습니다. 그러나 5단계에서 LayoutStyle.FLOWCHART만 지정하면 됩니다.
다음 코드 샘플은 Python을 사용하여 FlowChart 스타일로 회사 조직도를 만드는 방법을 보여줍니다.
# 이 코드 샘플은 FlowChart 스타일로 회사 조직도를 만드는 방법을 보여줍니다.
import aspose.diagram
from aspose.diagram import *
# 기존 다이어그램, 스텐실 또는 템플릿에서 마스터 로드
visioStencil = "BasicShapes.vss"
rectangleMaster = "Rectangle"
connectorMaster = "Dynamic connector"
pageNumber = 0
width = 1.0
height = 1.0
pinX = 4.25
pinY = 9.5
# 계층 구조를 구성하기 위한 값 정의
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"]
# 문자열 이름을 긴 모양 ID에 매핑하는 사전을 정의합니다.
shapeIdMap = {}
# 새 다이어그램 만들기
diagram = Diagram(visioStencil)
for orgnode in listPos:
# 새 직사각형 모양 추가
rectangleId = diagram.add_shape(pinX, pinY, width, height, rectangleMaster, pageNumber)
pinX += 1
pinY += 1
# 새 모양의 속성을 설정합니다.
shape = diagram.pages[pageNumber].shapes.get_shape(rectangleId)
shape.text.value.add(Txt(orgnode))
shape.name = orgnode
shapeIdMap[orgnode] = rectangleId
# 노드 간 연결 생성
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)
# 자동 레이아웃 흐름도
flowChartOptions = autolayout.LayoutOptions()
flowChartOptions.layout_style = autolayout.LayoutStyle.FLOW_CHART
flowChartOptions.direction = autolayout.LayoutDirection.TOP_TO_BOTTOM
flowChartOptions.enlarge_page = True
diagram.pages[pageNumber].layout(flowChartOptions)
# 다이어그램 저장
diagram.save("FlowChart_out.vsdx", SaveFileFormat.VSDX)
무료 임시 라이센스 받기
무료 라이선스를 받으세요 Visio에서 제한 없이 회사 조직도를 만들 수 있습니다. 무료 라이센스를 얻고 Python 조직도 작성기 API를 즉시 사용하기 위한 간단한 단계를 보려면 ‘임시 라이센스’ 페이지를 방문하십시오!
Python 조직도 작성기 - 무료 리소스
회사 조직도를 만드는 것 외에도 프로그래밍 방식으로 조직도를 만들거나 편집하는 방법에 대해 자세히 알아보고 아래 리소스를 사용하여 라이브러리의 다양한 기타 기능을 탐색할 수 있습니다.
결론
이번 블로그 게시물에서는 Aspose.Diagram for Python을 사용하여 Python에서 회사 조직도를 만드는 방법을 살펴보았습니다. 단 몇 줄의 코드만으로 회사의 구조를 보여주는 전문적인 차트를 만들 수 있습니다. Aspose.Diagram for Python은 다이어그램 생성 및 수정 프로세스를 자동화하는 데 도움이 되는 강력한 도구로, Visio 파일을 사용하는 Python 개발자에게 필수적인 라이브러리입니다. 모호한 점이 있으면 무료 지원 포럼에 문의해 주세요.