Загальні варіанти перетворення

У цій статті ми будемо описувати варіанти, які є загальними для перетворення файлів MPP Microsoft Project у графічні формати (PDF, TIFF, PNG, SVG, HTML). Aspose.Tasks для .NET API може бути використаний для перетворення проекту, завантаженого з MS Project MPP, Primavera P6 XML, Primavera Xer або інших підтримуваних форматів введення у PDF або графічні формати. У цьому випадку погляд конкретного проекту надається у визначеному форматі.

Уточнення подання, щоб зберегти

Microsoft Project підтримує різний перегляд, такі як “Графік Ганта”, “Використання завдань”, “Використання ресурсів” тощо. Кожен перегляд може бути налаштований, і ці налаштування зберігаються у файлі MPP. Aspose.tasks for .NET дозволяє користувачеві вивчити та змінювати ці налаштування за допомогою колекції Project.views.

Існує 3 способи вказати погляд, який буде експортований, коли проект буде збережений у графічних форматах.

  1. Не визначте перегляд явно. У цьому випадку буде представлено проект.DefaultView. Якщо перегляд за замовчуванням відсутнє, перегляд діаграми Gantt буде надано.
  2. Використовуйте saveOptions.presentationFormat, щоб визначити значення PresentationFormat перерахування. У цьому випадку перегляд з властивістю екрана кореспондента буде вибрано з колекції Project.Views. Якщо вид не вистачає, він буде використаний за замовчуванням Ganttchart View зі стандартним форматуванням.
  3. Використовуйте властивість SaveOptions.ViewSettings, щоб чітко вказати об’єкт перегляду для візуалізації. Якщо вказано об’єкт перегляду, значення SaveOptions.PresentationFormat ігнорується.

Визначення розміру сторінки

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

Розмір сторінки можна вказати наступними способами:

  1. Не визначте розмір сторінки. У цьому випадку буде використано pagesize.a4.
  2. Вкажіть заздалегідь визначену сторінку за допомогою SaveOptions.pagesize Властивість:
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.