Общие варианты конверсии

В этой статье мы собираемся описать параметры, которые являются общими для преобразования файлов Mprosoft Project MPP в графические форматы (PDF, TIFF, PNG, SVG, HTML). Aspose.tasks для .NET API можно использовать для преобразования проекта, загруженного из MS Project MPP, Primavera P6 XML, Primavera Xer или других поддерживаемых входных форматов в PDF или графические форматы. В этом случае представление конкретного проекта отображается в указанном формате.

Указание представления, чтобы сохранить

Microsoft Project поддерживает различное представление, такое как «диаграмма Gantt», «Использование задач», «Использование ресурсов» и т. Д. Каждое представление может быть настроено, и эти настройки хранятся в файле MPP. Aspose.tasks для .NET позволяет пользователю изучать и изменять эти настройки с использованием коллекции Project.views.

Существует 3 способа указать представление, которое будет экспортироваться при сохранении проекта в графические форматы.

  1. Не указывайте представление явно. В этом случае project.defaultView будет отображаться. Если представление по умолчанию отсутствует, будет отображаться представление Гантта.
  2. Используйте saveOptions.presentationFormat для указания значения DeventationFormat перечисление. В этом случае представление с свойством экрана корреспондента будет выбран из коллекции Project.Views. Если просмотр отсутствует, он будет использоваться по умолчанию GanttChart View со стандартным форматированием.
  3. Используйте свойство saveOptions.viewSettings, чтобы явно указать объект представления для рендеринга. Если указан объект View, значение SaveOptions.presentationFormat игнорируется.

Указание размера страницы

При рендеринге файлов проекта Microsoft в PDF, изображение или XPS важно указать соответствующий размер страницы. Это обеспечивает правильное масштабирование диаграммы, снижает риск усеченных данных и позволяет лучше интегрировать документ в бизнес -процессы. Aspose.tasks позволяет указать как стандартные, так и пользовательские размеры страниц, а также использовать сохраненные настройки из файла MPP.

Размер страницы может быть указан следующим образом:

  1. Не указывайте размер страницы. В этом случае будет использоваться pagesize.a4.
  2. Укажите заранее определенный страницы через свойство SaveOptions.pageize:
1    Project project = new Project("Project.mpp");
2    PdfSaveOptions saveOptions = new PdfSaveOptions()
3    {
4        PresentationFormat = PresentationFormat.GanttChart,
5        PageSize = PageSize.A2
6    };
7
8project.Save("OutputFitToA2.pdf", saveOptions);
  1. Specify custom PageSize via SaveOptions.CustomPageSize property:
1    Project project = new Project("Project.mpp");
2    PdfSaveOptions saveOptions = new PdfSaveOptions()
3    {
4        PresentationFormat = PresentationFormat.GanttChart,
5        CustomPageSize = new SizeF(700, 900),
6    };
7
8    project.Save("OutputFitToCustomPage.pdf", saveOptions);
  1. Specify PageSize.DefinedInView to use page size saved in MS Project’s Page Setup dialog:

MS Project Page Setup dialog

The option is applicable when input file is in MS Project MPP format

 1    Project project = new Project("Project.mpp");
 2
 3    var taskUsageView= project.Views.FirstOrDefault(v => v.Screen == ViewScreen.TaskUsage);
 4    taskUsageView.PageInfo.PageSettings.PaperSize = PrinterPaperSize.PaperEnvelope10;
 5
 6    PdfSaveOptions saveOptions = new PdfSaveOptions()
 7    {
 8        ViewSettings = taskUsageView,
 9        PageSize = PageSize.DefinedInView
10    };
11
12    project.Save("OutputToEnvelope.pdf", saveOptions);

Note: The PageSize.DefinedInView option is only effective when the source file is an MPP file and contains a view with saved page setup settings. If the view does not contain page setup information or the input file format is not MPP (e.g., XML), this option will have no effect.

Fitting Contents to Cell Size

Commonly, a task (or resource) name is so long that it is truncated when project views are rendered. Aspose.Tasks for .NET provides the FitContent property in the SaveOptions class to avoid truncation of task and resource names. The code example below renders a project to PDF format with the FitContent property set to true.

1Project project = new Project("New Project.mpp");
2SaveOptions options = new PdfSaveOptions();
3
4// Set option fit content to true
5options.FitContent = true;
6options.Timescale = Timescale.Months;
7options.PresentationFormat = PresentationFormat.TaskUsage;
8project.Save("FitContentsToCellSize_out.pdf", options);

Here is an examples of an output file without and with FitContent option:

Without FitContent With FitContent

Printing or Hiding Legends when Rendering

To let you print or hide the legends on each page, the SaveOptions class provides the LegendOnEachPage property. If this flag is set to true, legends are printed on each page in the out

1    SaveOptions options = new PdfSaveOptions();
2
3    // Set the LegendDrawingOptions property to NoLegend to hide legends
4    options.LegendDrawingOptions = LegendDrawingOptions.NoLegend;

Saving to Multiple PDF or graphical files

To save project data to multiple PDF files, set the SaveToSeparateFiles flag to true.

1Project project = new Project("New Project.mpp");
2PdfSaveOptions options = new PdfSaveOptions();
3options.SaveToSeparateFiles = true;
4options.Pages = new List<int>();
5options.Pages.Add(1);
6options.Pages.Add(4);
7project.Save("SaveToMultiplePDFFiles_out.pdf", (SaveOptions)options);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.