SaveOptions class

This is an abstract base class for classes that allow the user to specify additional options when saving a project into a particular format.

public abstract class SaveOptions : SimpleSaveOptions


BarStyles { get; set; }Gets or sets the list of the instances of the BarStyle class that appear in project view.
CustomPageSize { get; set; }Gets or sets the custom page size in points (1 point = 1/72 of inch).
DrawNonWorkingTime { get; set; }Gets or sets a value indicating whether non-working time should be drawn (Default value is TRUE).
EndDate { get; set; }Gets or sets a date to finish rendering to.
FitContent { get; set; }Gets or sets a value indicating whether row height should be increased to fit its content.
FitTimescaleToEndOfPage { get; set; }Gets or sets whether a calendar section of a view should be rendered to the end (right side) of the last page. If value is false, calendar section is rendered exactly to EndDate, even there is an empty space on a page.
Gridlines { get; set; }Gets or sets a list of Gridline that appear in project view.
IsPortrait { get; set; }Gets or sets a value indicating whether the page orientation is portrait; returns false if the page orientation is landscape.
LegendDrawingOptions { get; set; }Gets or sets a value which define how to render a legend. Default value is LegendDrawingOptions.OnEveryPage.
MarkCriticalTasks { get; set; }Gets or sets a value indicating whether critical tasks should be displayed in red color (Default value is FALSE).
NonWorkingTimeColor { get; set; }Gets or sets the non-working time color.
PageCount { get; }Gets or sets the number of pages of project.
PageSize { get; set; }Gets or sets the size of page to be rendered (Default value is PageSize.A4).
PresentationFormat { get; set; }Gets or sets the PresentationFormat in which the document will be saved.
RenderToSinglePage { get; set; }Gets or sets a value indicating whether a project should be rendered to a single page when project is saved in graphical format. The page size will be changed so the rendered project can be fit on one page.
RollUpGanttBars { get; set; }Gets or sets a value indicating whether subtasks on the summary task bar should be marked. For subtasks, the Rollup field indicates whether information on the subtask Gantt bars will be rolled up to the summary task bar. For summary tasks, the Rollup field indicates whether the summary task bar displays rolled up bars. You must have the Rollup field for summary tasks set to Yes for any subtasks to roll up to them.
SaveFormat { get; }Gets or sets the format in which the document will be saved if this save options object is used.
StartDate { get; set; }Gets or sets the date to start rendering from.
TasksComparer { get; set; }Gets or sets the comparer to sort tasks on Gantt chart and Task Sheet chart.
TasksFilter { get; set; }Gets or sets the condition which is used to filter tasks rendered on Gantt, Task Sheet and Task Usage charts.
TextStyles { get; set; }Gets or sets the list of the instances of the TextStyle class that appear in project view.
Timescale { get; set; }Gets or sets the Timescale value which is used to control how timescale (if present) is rendered when project is saved to graphical format.
virtual UseGradientBrush { get; set; }Gets or sets a value indicating whether gradient brush should be used when rendering Gantt Chart.
View { get; set; }Gets or sets a list of the view columns to render (GanttChartColumn). If not set then task ids, task names, start and finish are rendered only. If both View and ViewSettings properties are set, columns from View overrides columns from ViewSettings.
ViewSettings { get; set; }Gets or sets a view (View) to render. You can use this options to explicitly specify which view should be saved to PDF, HTML or Image formats. If this property is set, PresentationFormat property is ignored when project is saved. View should be from one of the following screen ((Screen)): (Gantt, TaskSheet, TaskUsage, ResourceSheet, ResourceUsage)


An instance of any derived class from SaveOptions class is passed to the stream Save or string Save overloads for the user to define custom options when saving a document.


Shows how to set the option whether row height should be increased to fit its content.

var project = new Project(DataDir + "CreateProject2.mpp");
SaveOptions options = new PdfSaveOptions
    // Set option fit content to true
    FitContent = true,
    Timescale = Timescale.Months,
    PresentationFormat = PresentationFormat.TaskUsage
project.Save(OutDir + "FitContentsToCellSize_out.pdf", options);

See Also