Renderizar gráficos de Gantt con Aspose.Tasks para Java
Microsoft Project permite a los usuarios establecer la escala de tiempo en la que se muestra un grado de Gantt.
Aspose.Tasks for Java admite esta función y le permite representar gráficos Gantt con diferentes configuraciones de escala de tiempo. Los gráficos de Gantt se pueden representar a la imagen de una página utilizando estas opciones.
Configuración de escalas de tiempo y guardando una imagen
La propiedad de escala de tiempo de la clase ImageSaveOptions determina la configuración de la escala de tiempo de un proyecto. La escala de tiempo se establece en días por defecto. Las otras opciones son mes y tercero de los meses.
La siguiente muestra de código:
- Lee un archivo de proyecto.
- Establece cada configuración de escala de tiempo diferente.
- Guarda el archivo en el disco como JPG.
1Proyecto proyecto = nuevo proyecto ("NewProductDev.mpp");
2// Guardar en una imagen de una página (Timescale.days de forma predeterminada)
3Project.save ("NewProductDevdays.jpeg", New ImageAweOptions (SaveFileFormat.jpeg));
4// Guardar en una imagen de una página (Timescale.ThirdofMonths)
5Opciones de imágenes de imágenes = nuevas imágenes de imágenes (saveFileFormat.jpeg);
6opciones
7Project.save ("NewProductDevThirdofonths.jpeg", Opciones);
8// Guardar en una imagen de una página (Timescale.Months)
9opciones.setTimescale (Timescale.Months);
10Project.save ("newProductDevmonths.jpeg", opciones);
Enrollando barras de Gantt durante la representación
Si la propiedad SaveOptions.RollUpgantTBARS se establece en verdadero, cualquier tarea resumida en el proyecto está marcada por sus subtareas visibles, teniendo en cuenta la Tarea. (Si task.hideBar = true, la barra no se representa en el gráfico Gantt.) Si SaveOptions.RollUpgantTBars = False, la subtarea se mostrará en la tarea resumida de todos modos, siempre que SubTask.IsRollup y Subtask.ParentTask.Isrollup se establezcan en verdad. Además, si SaveOptions.DrawnOnWorkingTime (valor predeterminado = true) se establece en False, el tiempo de no trabajo no se mostrará en el cuadro Gantt.
Ejemplo 1
1Opciones pdfsaveOptions = new PDFSaveOptions ();
2Opciones.PresentationFormat = PresentationFormat.GantTChart;
3opciones.fitContent = true;
4options.RollUpgantTBars = false;
5opciones.DrawnonWorkingTime = false;
6options.pagesize = pageSize.a3;
7archivo de cadena = path.combine (común.testdatapath + "rendering \\", nombre de archivo);
8String resfile = Path.Combine (ResultFolder, FileName.replace (". MPP", ".pdf"));
9Proyecto Proyecto = nuevo proyecto (archivo); // Podemos leer un proyecto sin el Projectreader ahora.
10Project.save (resfile, opciones);
Salida del ejemplo 1
Ejemplo 2
En este ejemplo, SaveOptions.RollUpgantTBars = True, SaveOptions.DrawnonWorkingTime = True y Task.HideBar = False para tareas ocultas.
1Opciones pdfsaveOptions = new PDFSaveOptions ();
2opciones.setPresentationFormat (PresentationFormat.GantTChart);
3OPTIONS.SetFitContent (True);
4opciones.setRollUpgantTBars (falso);
5opciones.setDrawnonWorkingTime (falso);
6opciones.setPageSize (pageSize.a3);
7Proyecto proyecto = nuevo proyecto ("Rollupganttbars.mpp"); // Podemos leer un proyecto sin el Projectreader ahora.
8Project.save ("rollupganttbars.pdf", opciones);
Salida del ejemplo 2
Personalización de texto con barras de tareas
En este ejemplo, el texto a la derecha de la barra de tareas se puede personalizar mediante una instancia delegada. Aquí personalizamos el texto en las tareas críticas.
1OneSec largo = 10000000; // microsegundos * 10
2Long Onemin = 60 * OnesEC;
3largo OneHour = 60 * Onemin;
4Proyecto Project = New Project ();
5Tarea tarea1 = proyecto.addtask ("Tarea 1");
6Tarea tarea2 = proyecto.addtask ("Tarea 2");
7Double dduration = OneHour * 8.0 * 3.0; // tareas de 3 días
8Tarea1.SetDuration (((larga) dduración);
9Tarea1.SetDuration (((larga) dduración);
10Tasklink Link = New TaskLink (Task1, Task2, TaskLinkType.FinishTostart);
11Project.AddTaskLink (enlace);
12Tarea tarea3 = proyecto.addtask ("Tarea 3");
13Recurso rsc1 = proyecto.addresource ("recurso 1");
14Recurso rsc2 = proyecto.addresource ("recurso 2");
15Recurso rsc3 = proyecto.addresource ("recurso 3");
16Project.AddResourceassignment (Tarea1, RSC1);
17Project.AddResourceassignment (Tarea2, RSC2);
18Project.AddResourceassignment (Tarea3, RSC3);
19Opciones de SaveOptions = new PDFSaveOptions ();
20opciones
21Barstyle Style = new Barstyle ();
22style.SetItemType (BaritemType.CriticalTask);
23style.setBartextConverter (new BarStyle.TaskTobartextConverter () {
24 @Anular
25 Public String Invoke (tarea tarea) {
26 return "tarea" + task.getName () + "está en la ruta crítica";
27 }
28});
29Barstyle style2 = new Barstyle ();
30style2.setBarcolor (color.Darkgray);
31style2.SetItemType (BaritemType.Task);
32OPTION.SetBarStyles (New ArrayList <BarStyle> ());
33opciones.getBarstyles (). add (estilo);
34opciones.getBarstyles (). add (style2);
35Project.save ("resultado2.pdf", opciones);
Alinear el contenido celular
El texto puede estar alineado por GanttchartColumn.Stringalignment, ResourceViewColumn.Stringalignment Propiedades. La alineación por defecto es StringAlignment.near (izquierda).
1Proyecto proyecto = nuevo proyecto ("Renderme.mpp"); // Proyecto de prueba adjunto
2Opciones de SaveOptions = new PDFSaveOptions ();
3opciones.setTimescale (Timescale.Months);
4opciones.setView (ProjectView.getDefaultGantTChartView ());
5Ganttchartcolumn col = (ganttchartcolumn) options.getView (). GetColumns (). Get (2); // como ganttchartcolumn;
6Coronel Setstringalignment (1); // centro
7col = (ganttchartcolumn) options.getView (). getColumns (). get (3);
8Coronel Setstringalignment (2); // lejos
9col = (ganttchartcolumn) options.getView (). getColumns (). get (4);
10Coronel Setstringalignment (2); // lejos
11Project.save ("Result ganttchart.pdf", opciones);
12Opciones.setPresentationFormat (PresentationFormat.ResourceSheet);
13ResourceViewColumn Col1 = (RecursCeViewColumn) options.getView (). GetColumns (). Get (2);
14col1.Setstringalignment (1);
15col1 = (RecursCeViewColumn) options.getView (). getColumns (). get (3);
16Col1.Setstringalignment (2);
17col1 = (RecursCeViewColumn) options.getView (). getColumns (). get (4);
18Col1.Setstringalignment (2);
19Project.save ("Result ResourceSheet.pdf", opciones);
Cambiar las barras Gantt Barras Gradiente de color
Microsoft Project permite a los usuarios representar la salida de los gráficos Gantt utilizando colores de gradiente. La misma funcionalidad es proporcionada por Aspose.Tasks como se muestra en el siguiente código de muestra.
1Proyecto proyecto = nuevo proyecto ("NewProductDev.mpp");
2Opciones de SaveOptions = new XamLOptions ();
3OPTION.SetUseGradientBrush (falso);
4Project.save ("solid.xaml", opciones);
5OPTIONS.SetUseGradientBrush (verdadero);
6Project.save ("gradiente.xaml", opciones);
Configuración de la fecha de inicio de la vista del gráfico Gantt
La propiedad TimesCalStart expuesta por la clase PRJ permite establecer la fecha de inicio de la vista del gráfico Gantt. Sin embargo, si MSP abre el archivo guardado en modo de ventana maximizado, la fecha de inicio de la escala de tiempo no coincidirá.
1Proyecto proyecto = nuevo proyecto ("rel_constr.mpp");
2Project.set (prj.timescale_start, nueva fecha (115, 2, 3));
3Project.save ("temp.mpp", saveFileFormat.mpp);