Browse our Products
Aspose.Tasks for .NET 21.9 Release Notes
All Changes
Key | Summary | Issue Type |
---|---|---|
TASKSNET-4609 | Implement feature “Fit to X pages tall and Y pages wide” | New Feature |
TASKSNET-10333 | Add support for scaling with given scale factor | New Feature |
TASKSNET-10344 | Fix ‘The start time should be not greater than the finish one’ exception when creating project from Primavera .xer file | Bug |
TASKSNET-4757 | Fix invalid position of progress rectangle in task bars in Gantt chart | Bug |
TASKSNET-10345 | Fix reading of values of lookup extended attributes | Bug |
Public API and Backwards Incompatible Changes
Examples and additional notes
Related issue: TASKSNET-10333 - Add support for scaling with given scale factor
Now PageSettings.PercentOfNormalSize and PageSettings.AdjustToPercentOfNormalSize properties are taken into account when View is rendered. These properties correspond to “Adjust to X % normal size” field of “Page Setup” dialog of MS Project:
Values of these properties are stored in MPP file and one can set values of these properties to render a view with a given scale factor:
Project project = new Project("Project.mpp");
var ganttChartView = project.Views.FirstOrDefault(v => v.Screen == ViewScreen.Gantt);
ganttChartView.PageInfo.PageSettings.AdjustToPercentOfNormalSize = true;
ganttChartView.PageInfo.PageSettings.PercentOfNormalSize = 45;
PdfSaveOptions saveOptions = new PdfSaveOptions()
{
StartDate = new DateTime(2021, 09, 16),
EndDate = new DateTime(2021, 12, 31),
ViewSettings = ganttChartView,
Timescale = Timescale.DefinedInView
};
project.Save("OutputScaledTo45.pdf", saveOptions);
Now PageSettings.PagesInWidth and PageSettings.PagesInHeight are taken into account when View is rendered. These properties correspond to “Fit to X pages wide by Y tall” fields of “Page Setup” dialog of MS Project. The properties can be used to fit the rendered view to the specified number of pages in width and height:
Project project = new Project("Project.mpp");
var taskUsageView= project.Views.FirstOrDefault(v => v.Screen == ViewScreen.TaskUsage);
taskUsageView.PageInfo.PageSettings.AdjustToPercentOfNormalSize = false;
taskUsageView.PageInfo.PageSettings.PagesInWidth = 2;
taskUsageView.PageInfo.PageSettings.PagesInHeight = 2;
PdfSaveOptions saveOptions = new PdfSaveOptions()
{
ViewSettings = taskUsageView,
StartDate = new DateTime(2021, 09, 16),
EndDate = new DateTime(2021, 12, 31),
Timescale = Timescale.DefinedInView
};
project.Save("OutputFitTo2х2.pdf", saveOptions);