Рендеринг диаграмм Gantt с Aspose.Tasks для Java

Microsoft Project позволяет пользователям установить время шкалы, в которой отображается диаграмма Gantt. (Временной шкал указан в верхней части вида Гантта.

Aspose.Tasks для Java поддерживает эту функцию и позволяет отображать диаграммы Gantt с разными настройками времени. Диаграммы Gantt могут быть отображены на одну страницу изображения, используя эти параметры.

Установка времени и сохранения на изображение

Собственность TimeScale Class ImagesEaptions определяет настройки временного масштаба проекта. Временной шкал устанавливается на дни по умолчанию. Другие варианты - месяц и третий месяцев.

Следующий пример кода:

  1. Читает файл проекта.
  2. Устанавливает каждый разные настройки временного масштаба.
  3. Сохраняет файл на диск как JPG.
 1Project Project = новый проект ("newProductDev.mpp");
 2// Сохранить на одну страницу изображение (TimeScale.days по умолчанию)
 3project.save ("newproductdevdays.jpeg", новые Imageseaptions (savefileformat.jpeg));
 4// Сохранить на одну страницу изображение (TimeScale.thirdofmonths)
 5ImagesaveOptions Options = новые изображения aveOptions (saveFileformat.jpeg);
 6Options.SetTimesCale (TimeScale.ThirdSofmonths);
 7project.save ("newproductdevthirdsofmonths.jpeg", опции);
 8// Сохранить на одну страницу изображение (Timesscale.months)
 9Options.SetTimesCale (TimesCale.Months);
10Project.save ("newProductDevMonths.jpeg", Options);

Своивание баров Гантта во время рендеринга

Если свойство SaveOptions.rollupganttbars установлено на True, любая сводная задача в проекте помечена его видимыми подзадатами, учитывая свойство задачи. (Если aske.hidebar = true, планка не отображается на диаграмме Gantt.) Если SaveOptions.rollupganttbars = false, подзадача будет показана на суммарной задаче, при условии, что Subtask.isRollup и subtask.parentTask.isRollup устанавливаются в True. Кроме того, если SaveOptions.DrawnOnworkingTime (значение по умолчанию = true) будет установлено на ложное время, не будет показано время на диаграмме Gantt.

Пример 1

 1PDFSaveOptions Options = new PdfSaveOptions ();
 2Options.presentationFormat = DeventationFormat.gantTChart;
 3Options.FitContent = true;
 4Options.rollupganttbars = false;
 5Options.DrawnOnworkingTime = false;
 6Options.PAGESIZE = PAGESIZE.A3;
 7string file = path.combine (common.testdatapath + "рендеринг \\", имя файла);
 8string resfile = path.combine (resultFolder, filename.replace (". Mpp", ".pdf"));
 9Project Project = новый проект (файл); // Теперь мы можем прочитать проект без проекта.
10Project.save (Resfile, Options);

Вывод из примера 1

Gannt Chart PDF Пример

Пример 2

В этом примере saveOptions.rollupganttbars = true, saveOptions.drawnWorkingTime = true, и task.hidebar = false для скрытых задач.

1PDFSaveOptions Options = new PdfSaveOptions ();
2Options.SetPresentationFormat (DeventationFormat.gantTChart);
3Options.SetFitContent (TRUE);
4Options.setrollupganttbars (false);
5Options.SetDrawnOnworkingTime (false);
6options.setPagesize (pagesize.a3);
7Project Project = новый проект ("rollupganttbars.mpp"); // Теперь мы можем прочитать проект без проекта.
8project.save ("rollupganttbars.pdf", опции);

Вывод из примера 2

Экспорт MPP как диаграмма Gannt PDF

Настройка текста с помощью стержней задач

В этом примере текст справа от строки задач может быть настроен на экземпляр делегата. Здесь мы настраиваем текст на критические задачи.

 1Long OneSec = 10000000; // Microsecond * 10
 2длинный onemin = 60 * exec;
 3Long Onehour = 60 * Onemin;
 4Project Project = новый проект ();
 5Задача задачи1 = project.addtask ("Задача 1");
 6Задача задачи2 = project.addtask ("Задача 2");
 7Double Dduration = OneHour * 8.0 * 3.0; // 3 дня задачи
 8task1.setduration ((Long) dduration);
 9task1.setduration ((Long) dduration);
10TaskLink Link = New TaskLink (Task1, Task2, TaskLinkType.finishtostart);
11Project.addtaskLink (ссылка);
12Задача задачи3 = project.addtask ("Задача 3");
13Ресурс RSC1 = Project.Addresource ("Ресурс 1");
14Ресурс rsc2 = project.addresource ("ресурс 2");
15Ресурс rsc3 = project.addresource ("ресурс 3");
16Project.AddresourCeaseSignment (Task1, RSC1);
17Project.AddresourceAssignment (Task2, RSC2);
18Project.AddresourCeaseSignment (Task3, RSC3);
19SavePtions Options = new PdfSaveOptions ();
20Options.SetTimesCale (TimeScale.ThirdSofmonths);
21BarStyle Style = новый BarStyle ();
22style.setitemtype (baritemtype.criticaltask);
23style.setbartextconverter (new barstyle.tasktobartextconverter () {
24  @Override
25  public String invoke (задача задачи) {
26     вернуть "Task" + task.getName () + "находится на критическом пути";
27  }
28});
29BarStyle Style2 = новый BarStyle ();
30style2.setbarcolor (color.darkgray);
31style2.setItemtype (baritemtype.task);
32Options.setbarstyles (новый ArrayList <barstyle> ());
33options.getbarstyles (). Добавить (стиль);
34Options.getBarstyles (). Add (Style2);
35Project.save ("result2.pdf", Options);

Совместить содержимое ячейки

Текст может быть выровнен с помощью GanttChartColumn.stringLenment, ResourceViewColumn.StringGintment Properties. Выравнивание по умолчанию является stringalignment.near (слева).

 1Project Project = новый проект ("renderme.mpp"); // Прикрепленный тестовый проект
 2SavePtions Options = new PdfSaveOptions ();
 3Options.SetTimesCale (TimesCale.Months);
 4Options.SetView (projectView.getDefaultGantTChartView ());
 5Ganttchartcolumn col = (ganttchartcolumn) options.getView (). GetColumns (). Get (2); // as ganttChartColumn;
 6Кол. // Центр
 7col = (ganttchartcolumn) options.getView (). getColumns (). get (3);
 8Кол. // далеко
 9col = (ganttchartcolumn) options.getView (). getColumns (). get (4);
10Кол. // далеко
11project.save ("result ganttchart.pdf", опции);
12Options.SetPresentationFormat (DeventationFormat.Resourceshest);
13ResourceViewColumn col1 = (resourceViewColumn) options.getView (). GetColumns (). Get (2);
14col1.setStringAlignment (1);
15col1 = (resourceviewcolumn) options.getView (). getColumns (). get (3);
16col1.setStringAlignment (2);
17col1 = (resourceviewcolumn) options.getView (). getColumns (). get (4);
18col1.setStringAlignment (2);
19project.save ("result resourceSheest.pdf", Options);

Изменение градиента цветового градиента диаграмм Gantt

Microsoft Project позволяет пользователям отображать вывод диаграмм Gantt, используя градиентные цвета. Такая же функциональность предоставляется Aspose.tasks, как показано в следующем примере кода.

1Project Project = новый проект ("newProductDev.mpp");
2SavePtions Options = new Xamloptions ();
3Options.setuseDientBrush (false);
4Project.save ("solid.xaml", опции);
5Options.setuseDientBrush (True);
6Project.save ("gradient.xaml", опции);

Настройка даты начала вида Гантта

Свойство Timescalestart, выявленное PRJ Class, позволяет установить дату начала вида диаграммы Gantt. Однако, если сохраненный файл открыт MSP в максимизированном режиме окна, тогда дата запуска времен не совпадает.

1Project Project = новый проект ("rel_conster.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.