
Aspose.Tasks Cloud Python SDK
Python REST API를 사용한 MS Project 파일 생성 및 변환
Python 프로젝트 관리 클라우드 API는 프로젝트 관리자가 Microsoft Project MPT, MPP, MPX 및 Oracle Primavera XER, XML, PrimaveraP6XML 파일을 Python REST API를 통해 생성, 읽기, 조작 또는 변환할 수 있도록 합니다.
Aspose.Tasks Cloud Python SDK란 무엇인가요?
Aspose.Tasks Cloud Python SDK는 Microsoft Project (MPP) 및 Oracle Primavera 형식과 같은 프로젝트 관리 파일을 원활하게 처리할 수 있도록 소프트웨어 개발자에게 힘을 실어주는 편리한 도구 모음입니다. 이 SDK는 프로젝트 파일을 생성, 관리 및 변환하는 데 도움이 되는 다양한 기능을 제공하여 강력한 프로젝트 관리 애플리케이션을 개발하는 데 필요한 도구를 제공합니다. 클라우드 기반 SDK를 사용하면 실제 Microsoft Project 또는 Primavera 소프트웨어를 설치하지 않고도 소프트웨어 개발자가 Python 애플리케이션에 프로젝트 관리 기능을 손쉽게 추가할 수 있습니다. 이 SDK의 큰 장점은 Microsoft Project 또는 Primavera에 의존하지 않아도 된다는 점입니다. SDK가 클라우드에서 작동하기 때문에 Windows, macOS, Linux와 같은 다양한 시스템에서 작동하는 Python 앱에 프로젝트 관리 기능을 원활하게 추가할 수 있습니다. 이 설정은 호환성 문제에 대한 걱정을 없애줍니다.
Aspose.Tasks Cloud Python SDK는 프로젝트 관리 작업을 자동화하고 단순화하는 데 도움이 되는 훌륭한 도구입니다. Microsoft Project (MPT, MPP, MPX) 및 Primavera P6 (XER, XML) 파일 작업에 유용합니다. 몇 줄의 코드만으로 개발자는 프로젝트 파일을 HTML, PDF, XPS, TXT, CSV, XLSX, SVG, TIFF, JPEG, PNG, BMP 등 다양한 형식으로 변환할 수 있습니다. Aspose.Tasks Cloud Python SDK는 편리한 도구이며, 이를 통해 프로젝트 문서 속성 조정, 작업 업데이트, 리소스 처리, 캘린더 관리, 보고서 작성, 작업 연결 및 작업 재구성 등 다양한 작업을 수행할 수 있습니다. 그룹이 다양한 장소에서 프로젝트 파일에 접근하고 편집할 수 있게 함으로써 확장성과 팀워크를 가능하게 합니다. Aspose.Tasks Cloud를 사용하면 파일 변환, 작업 순서 관리 또는 보고서 생성 등 프로젝트 관리 업무를 원활하게 수행하는 데 필요한 모든 도구를 갖추게 됩니다.
Aspose.Tasks Cloud Python SDK 시작하기
Aspose.Tasks Cloud Python SDK를 설치하는 권장 방법은 PyPI를 이용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.
Install Aspose.Tasks for Python via .NET via Pypi
pip install asposetaskscloud
Aspose.Tasks 릴리스 페이지에서 직접 다운로드할 수 있습니다.Python을 사용한 프로젝트 관리 파일 변환
Aspose.Tasks Cloud Python SDK의 가장 유용한 기능 중 하나는 프로젝트 관리 파일을 다양한 형식으로 변환할 수 있다는 점입니다. SDK를 사용하면 개발자가 Microsoft Project 파일(MPP)을 PDF, XML, XLSX 및 Primavera 형식(P6XML 및 XER) 등으로 변환하여 플랫폼 간에 프로젝트 정보를 쉽게 공유할 수 있습니다. 이 코드 샘플은 소프트웨어 개발자가 MPP 파일을 클라우드 스토리지에 업로드하고 SDK를 사용해 PDF 형식으로 변환하는 방법을 보여줍니다.
Python REST API를 사용해 MPP 파일을 PDF로 변환하는 방법은?
api_client = asposetaskscloud.ApiClient()
api_client.configuration.host = 'https://api.aspose.cloud'
api_client.configuration.api_key['api_key'] = 'MY_CLIENT_SECRET'
api_client.configuration.api_key['app_sid'] = 'MY_CLIENT_ID'
tasks_api = asposetaskscloud.TasksApi(api_client)
file_name = 'SomeSeriousPlan.mpp'
upload_request = asposetaskscloud.models.requests.UploadFileRequest(os.path.join(self.remote_test_folder, file_name), file_name)
upload_result = self.tasks_api.upload_file(upload_request)
request = asposetaskscloud.models.requests.GetReportPdfRequest(file_name, ReportType.MILESTONES)
result = tasks_api.get_report_pdf(request)
클라우드 앱에서 프로젝트 작업 관리
Aspose.Tasks Cloud Python SDK는 Python 클라우드 기반 애플리케이션 내에서 프로젝트 파일의 작업을 생성하고 관리하기 위한 포괄적인 API를 제공합니다. 몇 줄의 코드만으로 소프트웨어 개발자는 작업을 생성, 업데이트, 삭제 및 할당하고, 작업 의존성을 설정하고, 제약 조건을 정의하며, 작업 베이스라인을 관리할 수 있습니다. 이 기능을 통해 복잡한 프로젝트 일정을 자동화하고 손쉽게 관리할 수 있습니다. 다음 예제에서는 사용자가 두 개의 작업을 생성하고 “Finish-to-Start” 링크를 사용해 의존성을 설정하는 방법을 보여줍니다. 작업 의존성은 프로젝트 워크플로를 효과적으로 관리하는 데 필수적입니다.
Python 앱 내에서 작업을 생성하고 관리하는 방법은?
# 프로젝트에 새 작업 생성
task = models.Task(name="Develop Backend", start="2024-10-23", duration=5)
created_task = api.create_task(file_name, task)
# 작업 의존성 설정 (finish-to-start)
dependent_task = models.Task(name="Develop Frontend", start="2024-10-30", duration=5)
created_dependent_task = api.create_task(file_name, dependent_task)
dependency = models.TaskLink(predecessor_uid=created_task.uid, successor_uid=created_dependent_task.uid, link_type="FinishToStart")
api.create_task_link(file_name, dependency)
Python API를 통한 프로젝트 캘린더 관리
프로젝트 일정을 관리하려면 근무 시간, 휴일 및 비근무일을 적절히 처리해야 합니다. Aspose.Tasks Cloud Python SDK는 클라우드 기반 Python 애플리케이션 내에서 작업 시간을 정의하고, 휴일을 지정하며, 사용자 정의 작업 일정 등을 관리할 수 있는 기능을 제공합니다. 다음 예제는 소프트웨어 개발자가 클라우드 기반 Python 애플리케이션에 캘린더를 추가하는 방법을 보여줍니다.
Python REST API를 사용해 프로젝트에 캘린더를 추가하는 방법은?
filename = 'Home_move_plan.mpp'
self.upload_file(filename)
first_day = WeekDay()
first_day.day_type = DayType.SUNDAY
first_day.day_working = False
second_day = WeekDay()
second_day.day_type = DayType.MONDAY
second_day.day_working = True
second_day.from_date = datetime(2000, 1, 1, 8)
second_day.to_date = datetime(2000, 1, 1, 17)
first_working_time = WorkingTime()
first_working_time.from_time = datetime(2000, 1, 1, 8)
first_working_time.to_time = datetime(2000, 1, 1, 13)
second_working_time = WorkingTime()
second_working_time.from_time = datetime(2000, 1, 1, 14)
second_working_time.to_time = datetime(2000, 1, 1, 17)
second_day.working_times = [first_working_time, second_working_time]
calendar = Calendar()
calendar.name = 'My new calendar'
calendar.days = [first_day, second_day]
calendar.is_base_calendar = False
calendar.is_baseline_calendar = False
request = PostCalendarRequest(filename, calendar)
post_result = self.tasks_api.post_calendar(request)
self.assertIsNotNone(post_result)
self.assertIsInstance(post_result, CalendarItemResponse)
get_result = self.tasks_api.get_calendar(GetCalendarRequest(filename, post_result.calendar_item.uid))
self.assertEqual('My new calendar', get_result.calendar.name)
self.assertEqual(7, len(get_result.calendar.days))
monday = next(d for d in get_result.calendar.days if d.day_type == DayType.MONDAY)
self.assertEqual(2, len(monday.working_times))
self.assertEqual(first_working_time.from_time.strftime("%H:%M:%S"), monday.working_times[0].from_time.strftime("%H:%M:%S"))
self.assertEqual(first_working_time.to_time.strftime("%H:%M:%S"), monday.working_times[0].to_time.strftime("%H:%M:%S"))
self.assertEqual(second_working_time.from_time.strftime("%H:%M:%S"), monday.working_times[1].from_time.strftime("%H:%M:%S"))
self.assertEqual(second_working_time.to_time.strftime("%H:%M:%S"), monday.working_times[1].to_time.strftime("%H:%M:%S"))
프로젝트 파일에 간트 차트 및 보고서 추가
Aspose.Tasks Cloud Python SDK를 사용하면 소프트웨어 개발자가 Python REST API를 통해 간트 차트 및 작업 진행 보고서와 같은 시각적 보고서를 쉽게 생성할 수 있습니다. 이러한 차트는 프로젝트 관리자가 작업 일정, 의존성 및 전체 진행 상황을 시각화하는 데 도움이 되며, 이해관계자와 팀원에게 필수적인 정보를 제공합니다. 아래 예제는 프로젝트 파일을 PDF로 내보내어 간트 차트 역할을 하도록 하는 방법을 보여줍니다.
클라우드 기반 Python 앱에서 프로젝트를 간트 차트(PDF)로 내보내는 방법은?
# 프로젝트를 PDF로 내보내어 간트 차트로 시각화
response = api.export(file_name, 'pdf')
with open('gantt_chart.pdf', 'wb') as f:
f.write(response)
