Rendern von Gantt -Charts mit ASSEPLE.TASKS für Java

Mit Microsoft Project können Benutzer die Zeitskala festlegen, in der ein Gantt -Diagramm angezeigt wird. (Die Zeitskala ist oben in der Gantt -Diagrammansicht angezeigt.) Sie können bis zu drei Zeitstufen des Zeitraums haben, um ihnen genau die Zeitauflösung zu geben, die sie benötigen.

Aspose.Tasks FÜR JAVA unterstützt diese Funktion und ermöglicht es Ihnen, Gantt -Diagramme mit unterschiedlichen Zeitskala -Einstellungen zu rendern. Gantt -Diagramme können mit diesen Optionen auf ein Seitenbild gerendert werden.

Zeitskalen einstellen und auf ein Bild speichern

Die Timescale -Eigenschaft von ImagesSaveOptions Class ‘Timescale bestimmt die Zeitskala -Einstellungen eines Projekts. Die Zeitskala ist standardmäßig auf Tage eingestellt. Die anderen Optionen sind Monat und dritte Monate.

Das folgende Code -Beispiel:

  1. Liest eine Projektdatei.
  2. Legt jede verschiedene Zeitskala -Einstellung fest.
  3. Speichert die Datei als JPG auf Disk.
 1Project Project = New Project ("NewProductDev.MPP");
 2// auf ein Seitenbild speichern (standardmäßig TAGEN.DAYS)
 3project.save ("NewProductDevdays.jpeg", New ImagesaveOptions (SaveFileFormat.jpeg));
 4// auf ein Seitenbild speichern (Timescale.Thirdsofmonths)
 5ImagesSaveOptions Optionen = neue ImagesaveOptions (SaveFileFormat.jpeg);
 6options.Settimescale (Timescale.Thirdsofmonths);
 7project.save ("newProductdevthirdsofmonths.jpeg", Optionen);
 8// auf ein Seitenbild speichern (Timescale.months)
 9options.Settimescale (Timescale.months);
10project.save ("NewProductDevmonths.jpeg", Optionen);

Rollen Sie Gantt Bars während des Renders auf

Wenn die Eigenschaft SaveOptions.rollUpGanttbars auf true festgelegt ist, wird eine zusammenfassende Aufgabe im Projekt durch ihre sichtbaren Unteraufgaben gekennzeichnet, wobei die Aufgabe berücksichtigt wird. (Wenn Task.hidebar = true, wird die Balken nicht in der Gantt -Tabelle gerendert.) Wenn saveOptions.rollupganttbars = false, wird die Subtask in der Zusammenfassung der Aufgabe ohnehin angezeigt. Wenn SaveOptions.DrawnonWorkingTime (Standardwert = true) auf false festgelegt wird, wird in der Gantt-Tabelle nicht die Arbeitszeit nicht angezeigt.

Beispiel 1

 1PdfsaveOptions options = new pdfsaveOptions ();
 2Optionen.PresentationFormat = PräsentationFormat.ganttchart;
 3options.fitContent = true;
 4options.rollupganttbars = false;
 5options.DrawnonworkingTime = false;
 6options.pageSize = pageSize.a3;
 7String file = path.combine (Common.TestDatapath + "Rendering \\", Dateiname);
 8String resFile = path.combine (resultFolder, Dateiname.replace (". MPP", ".pdf");
 9Projektprojekt = neues Projekt (Datei); // Wir können jetzt ein Projekt ohne Projectreader lesen.
10project.save (ResFile, Optionen);

Ausgabe aus Beispiel 1

Gannt -Diagramm -PDF -Beispiel

Beispiel 2

In diesem Beispiel saveOptions.rollupganttbars = true, saveOptions.DrawnonWorkingTime = true und task.hidebar = false für versteckte Aufgaben.

1PdfsaveOptions options = new pdfsaveOptions ();
2options.setPresentationFormat (PräsentationFormat.ganttchart);
3options.setFitContent (true);
4options.setRollUpGanttbars (false);
5options.setDrawnonworkingTime (false);
6options.setPageSize (pageSize.A3);
7Project Project = New Project ("RollupGanttbars.mpp"); // Wir können jetzt ein Projekt ohne Projectreader lesen.
8project.save ("rollupganttbars.pdf", Optionen);

Ausgabe aus Beispiel 2

Exportieren Sie MPP als Gannt -Diagramm PDF

Anpassen von Text mit Aufgabenbalken

In diesem Beispiel kann der Text auf der rechten Seite der Taskleiste durch Delegate -Instanz angepasst werden. Hier passen wir Text zu den kritischen Aufgaben an.

 1lange Ansc = 10000000; // Mikrosekunde * 10
 2lange onemin = 60 * einsec;
 3lange OneShour = 60 * ONEMIN;
 4Projektprojekt = neues Projekt ();
 5Task Task1 = project.addtask ("Task 1");
 6Task Task2 = project.addtask ("Aufgabe 2");
 7double dduration = neostour * 8.0 * 3.0; // 3 Tage Aufgaben
 8Task1.SetDuration ((lange) DDuration);
 9Task1.SetDuration ((lange) DDuration);
10TaskLink link = new TaskLink (Task1, Task2, TaskLinkType.finishtostart);
11project.addtasklink (link);
12Task Task3 = project.addtask ("Aufgabe 3");
13Ressource RSC1 = project.adDresource ("Ressource 1");
14Ressource RSC2 = project.adDresource ("Ressource 2");
15Ressource RSC3 = project.adDresource ("Ressource 3");
16project.adDresourceAssignment (Task1, RSC1);
17project.adDresourceAssignment (Task2, RSC2);
18project.adDresourceAssignment (Task3, RSC3);
19SAVEOPTIONS -Optionen = new PDFSaveOptions ();
20options.Settimescale (Timescale.Thirdsofmonths);
21Barstyle style = new barstyle ();
22style.setItemtype (baritemtype.criticalTask);
23style.setBARTEXTCONVERTER (New Barstyle.TaskToBARTEXTCONVERTER () {
24  @Override
25  public String Invoke (Task -Aufgabe) {
26     Rückgabe "Task" + task.getName () + "ist auf kritischem Pfad";
27  }
28});
29Barstyle style2 = new barstyle ();
30style2.setbarcolor (color.darkgray);
31style2.setItemtype (baritemtype.task);
32Optionen.SetBarstyles (New ArrayList <Barstyle> ());
33options.getBarstyles (). add (style);
34options.getBarstyles (). add (style2);
35project.save ("result2.pdf", Optionen);

Ausrichten von Zellinhalten

Der Text kann durch die GanttchartColumn.Stringalignment, ResourceViewColumn.Stringalignment -Eigenschaften ausgerichtet werden. Die Ausrichtung standardmäßig ist Stringalignment.near (links).

 1Projektprojekt = neues Projekt ("Renderme.MPP"); // beigefügtes Testprojekt
 2SAVEOPTIONS -Optionen = new PDFSaveOptions ();
 3options.Settimescale (Timescale.months);
 4options.setView (projectView.getDefaultGanttChartView ());
 5Ganttchartcolumn col = (ganttchartColumn) options.getView (). GetColumns (). Get (2); // als ganttchartcolumn;
 6Col.SetStringalignment (1); // Mitte
 7col = (ganttchartColumn) options.getView (). getColumns (). get (3);
 8Col.SetStringalignment (2); // weit
 9col = (ganttchartColumn) options.getView (). getColumns (). get (4);
10Col.SetStringalignment (2); // weit
11project.save ("Ergebnis ganttchart.pdf", Optionen);
12options.setPresentationFormat (PräsentationFormat.ResourCesheet);
13ResourceViewColumn col1 = (ResourceViewColumn -Optionen.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 Resourcesheet.pdf", Optionen);

Ändern von Gantt -Diagrammbalken Farbgradienten

Mit Microsoft Project können Benutzer die Ausgabe von Gantt -Diagrammen mithilfe von Gradientenfarben rendern. Die gleiche Funktionalität wird von ASOSPOSE.Tasks wie im folgenden Beispielcode angegeben.

1Project Project = New Project ("NewProductDev.MPP");
2SAVEOPTIONS -Optionen = new xamloptions ();
3options.setusegradientBrush (false);
4project.save ("Solid.xaml", Optionen);
5options.setusegradientBrush (true);
6project.save ("gradient.xaml", Optionen);

Setzen Sie das Startdatum der Gantt -Diagrammansicht

Mit der von der PRJ -Klasse aufgedeckten TimesCalestart -Eigenschaft können das Startdatum der Gantt -Diagrammansicht festgelegt werden. Wenn die gespeicherte Datei jedoch im maximierten Fenstermodus von MSP geöffnet wird, stimmt das Startdatum der Zeitskala nicht überein.

1Project Project = New Project ("rel_constr.mpp");
2project.set (prj.timescale_start, neues Datum (115, 2, 3));
3project.save ("temp.mpp", SaveFileFormat.mpp);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.