Aspose.Tasks 를 사용하여 간트 차트를 렌더링합니다

Microsoft Project를 사용하면 사용자가 Gantt 차트에 표시되는 타임 스케일을 설정할 수 있습니다. (TimesCale은 Gantt 차트보기의 상단에 표시됩니다.) 필요한 시간 분해능을 정확하게 제공하기 위해 최대 3 개의 타임 스케일을 가질 수 있습니다.

Aspose.Tasks for java는이 기능을 지원하고 Gantt 차트를 다양한 시간 규모 설정으로 렌더링 할 수 있습니다. Gantt 차트는 이러한 옵션을 사용하여 한 페이지 이미지로 렌더링 할 수 있습니다.

타임 스케일 설정 및 이미지에 저장

ImagesAveOptions 클래스 ‘타임 스케일 속성은 프로젝트의 시간 규모 설정을 결정합니다. 타임 스케일은 기본적으로 며칠로 설정됩니다. 다른 옵션은 달과 3 개월입니다.

다음 코드 샘플 :

  1. 프로젝트 파일을 읽습니다.
  2. 각각의 다른 타임 스케일 설정을 설정합니다.
  3. 파일을 디스크에 JPG로 저장합니다.
 1프로젝트 프로젝트 = 새로운 프로젝트 ( "NewProductDev.mpp");
 2// 한 페이지 이미지로 저장 (타임 스케일.
 3project.save ( "NewProductDevdays.jpeg", New ImagesAveOptions (SaveFileFileFormat.jpeg));
 4// 한 페이지에 저장 이미지 (TimesScale.thirdsofmonths)
 5imagesAveOptions 옵션 = 새로운 ImagesAveOptions (SaveFileFormat.jpeg);
 6옵션 .setTimesCale (TimesCale.thirdsofmonths);
 7Project.Save ( "NewProductDevthirdsofmonths.jpeg", 옵션);
 8// 한 페이지에 저장 이미지 (TimesCale.months)
 9옵션 .setTimesScale (TimesCale.months);
10project.save ( "NewProductDevmonths.jpeg", 옵션);

렌더링 중에 간트 바를 롤업

SaveOptions.rollupganttBars 속성이 True로 설정된 경우 프로젝트의 모든 요약 작업은 렌더링시 작업.Hidebar 속성을 고려하여 표시된 하위 작업으로 표시됩니다. (task.hidebar = true 인 경우, Gantt 차트에서 막대가 렌더링되지 않습니다.) SaveOptions.rollupGantTbars = False 인 경우 하위 작업이 해당 서브 타스크. isrollup 및 서브 타스크 .parentTask.isrollup이 TRUE로 설정된 경우 하위 작업이 요약 작업에 표시됩니다. 또한 SaveOptions.DrawnOnWorkingTime (기본값 = true)이 False로 설정되면 Gantt 차트에는 비 작업 시간이 표시되지 않습니다.

예 1

 1pdfsaveoptions 옵션 = 새로운 pdfsaveoptions ();
 2옵션 .presentationformat = presentationFormat.ganttChart;
 3옵션 .fitContent = true;
 4옵션. rollupganttbars = false;
 5옵션. DRAWNONONWOWNINGTIME = FALSE;
 6옵션 .pagesize = pagesize.a3;
 7문자열 파일 = path.combine (common.testdatapath + "렌더링 \\", filename);
 8String Resfile = path.combine (resultfolder, filename.replace ( ". mpp", ".pdf"));
 9프로젝트 프로젝트 = 새로운 프로젝트 (파일); // 지금 Projectreader없이 프로젝트를 읽을 수 있습니다.
10project.save (Resfile, 옵션);

예제 1의 출력

Gannt 차트 PDF 예제

예제 2

이 예에서 SaveOptions.rollupGanttBars = true, saveOptions.drawnOnworkingtime = true, wask.hidebar = 숨겨진 작업의 거짓.

1pdfsaveoptions 옵션 = 새로운 pdfsaveoptions ();
2옵션 .setPresentationFormat (presentationFormat.ganttChart);
3옵션 .setfitContent (true);
4옵션 .setRollUpGantTbars (false);
5옵션 .SetDrawnOnonWorkingTime (false);
6옵션 .setPagesize (pagesize.a3);
7프로젝트 프로젝트 = 새로운 프로젝트 ( "RollupgantTbars.mpp"); // 지금 Projectreader없이 프로젝트를 읽을 수 있습니다.
8project.save ( "Rollupganttbars.pdf", 옵션);

예제 2의 출력

GANNT 차트 PDF로 MPP를 내보내기

작업 표시 줄로 텍스트 사용자 정의

이 예에서는 작업 표시 줄의 오른쪽에있는 텍스트를 Delegate 인스턴스에서 사용자 정의 할 수 있습니다. 여기서 우리는 중요한 작업에 대한 텍스트를 사용자 정의합니다.

 1 onesec = 100000000; // microsecond * 10
 2 Onemin = 60 * onesec;
 3 1 시간 = 60 * 오네민;
 4프로젝트 프로젝트 = 새로운 프로젝트 ();
 5task1 = project.addtask ( "task 1");
 6작업 작업 2 = project.addtask ( "Task 2");
 7이중 dduration = 1 시간 * 8.0 * 3.0; // 3 일 작업
 8task1.setduration ((long) ddation);
 9task1.setduration ((long) ddation);
10taskLink link = new TaskLink (task1, task2, tasklinktype.finishtostart);
11project.addtaskLink (링크);
12task 3 = project.addtask ( "task 3");
13자원 RSC1 = Project.AddResource ( "Resource 1");
14자원 rsc2 = project.addresource ( "Resource 2");
15자원 rsc3 = project.addresource ( "Resource 3");
16project.addresourceassignment (task1, rsc1);
17project.addresourceassignment (task2, rsc2);
18project.addresourceassignment (task3, rsc3);
19SaveOptions Options = New PdfSaveOptions ();
20옵션 .setTimesCale (TimesCale.thirdsofmonths);
21 스타일 스타일 = 새로운  스타일 ();
22style.setitemtype (baritemtype.criticaltask);
23style.setbartextconverter (new barstyle.tasktobartextconverter () {
24  @보수
25  공개 문자열 호출 (작업 작업) {
26     "task" + task.getName () + "reture" + " +" + "reture retrication pation";
27  }
28});
29 스타일 스타일 2 = 새로운  스타일 ();
30style2.setbarcolor (color.darkgray);
31style2.setitemtype (baritemtype.task);
32옵션 .setBarstyles (new ArrayList <Barstyle> ());
33옵션 .getBarstyles (). add (스타일);
34옵션 .getBarstyles (). add (style2);
35project.save ( "result2.pdf", 옵션);

셀 내용물 정렬

텍스트는 GanttChartColumn.StringAlignment, ResourceViewColumn.StringAlignment 속성에 의해 정렬 될 수 있습니다. 기본적으로 정렬은 stringalignment.near (왼쪽)입니다.

 1프로젝트 프로젝트 = 새로운 프로젝트 ( "renderme.mpp"); // 첨부 된 테스트 프로젝트
 2SaveOptions Options = New PdfSaveOptions ();
 3옵션 .setTimesScale (TimesCale.months);
 4옵션 .setView (projectView.GetDefaultGantTchartView ());
 5GanttChartColumn col = (GanttChartColumn) 옵션 .getView (). getColumns (). get (2); // GanttChartColumn;
 6Col.setStringalignment (1); // 센터
 7col = (GanttChartColumn) 옵션 .getView (). getColumns (). get (3);
 8Col.SetStringAlignment (2); // 멀리
 9col = (GanttChartColumn) 옵션 .getView (). getColumns (). get (4);
10Col.SetStringAlignment (2); // 멀리
11project.save ( "result ganttchart.pdf", 옵션);
12옵션 .setPresentationFormat (presentationFormat.ResourCesheet);
13ResourceViewColumn col1 = (resourceViewColumn) 옵션 .getView (). getColumns (). get (2);
14col1.SetStringAlignment (1);
15col1 = (ResourceViewColumn) 옵션 .getView (). getColumns (). get (3);
16col1.SetStringAlignment (2);
17col1 = (ResourceViewColumn) 옵션 .getView (). getColumns (). get (4);
18col1.SetStringAlignment (2);
19project.save ( "result resourcesheet.pdf", 옵션);

간트 차트 바 색상 구배 변경

Microsoft Project를 통해 사용자는 그라디언트 색상을 사용하여 Gantt 차트의 출력을 렌더링 할 수 있습니다. 다음 샘플 코드에 표시된 것과 동일한 기능이 aspose.task에 의해 제공됩니다.

1프로젝트 프로젝트 = 새로운 프로젝트 ( "NewProductDev.mpp");
2SaveOptions Options = New Xamloptions ();
3옵션.
4project.save ( "solid.xaml", 옵션);
5옵션.
6project.save ( "gradient.xaml", 옵션);

Gantt 차트보기 시작 날짜 설정

PRJ 클래스에 노출 된 TimesCalestart 속성을 사용하면 Gantt 차트보기의 시작 날짜를 설정할 수 있습니다. 그러나 저장된 파일이 최대화 된 창 모드에서 MSP에 의해 열리면 TimesScale 시작 날짜가 일치하지 않습니다.

1프로젝트 프로젝트 =  프로젝트 ( "rel_const.mpp");
2project.set (prj.timescale_start,  날짜 (115, 2, 3));
3project.save ( "temp.mpp", savefileformat.mpp);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.