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:
- Liest eine Projektdatei.
- Legt jede verschiedene Zeitskala -Einstellung fest.
- 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
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
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);