Конвертирането на файлове на Microsoft Project (MPP) в PDF позволява на екипите да споделят планове в последователен, преносим формат. Aspose.Tasks for .NET, можете да персонализирате експорта: изберете изгледа (Gantt, Използване на ресурса, лист с ресурси), контролирайте размера и ориентацията на страницата, настройвайте времевата скала и се вписвате и дори генерирайте Прекомерно разпределени ресурси Това ръководство осигурява чиста, повтаряща се настройка плюс пълна C# извадка.

Ключови Takeaways

  • Изберете правилната изработка: Използвайте PresentationFormat за изгледи на Gantt/Ресурс или SaveReport(..., ReportType.OverallocatedResources) За първи път – кратко резюме.
  • Контролен лайк: Изберете размера на страницата / ориентация (PageSize, IsPortraitи е подходящ (FitContent, RenderToSinglePage).
  • Tame Page брои: Тун Timescale и StartDate/EndDate;• позволява ReduceFooterGap За по-дебели страници.
  • Поддържайте изчисленията актуални: сет CalculationMode = Automatic или обаждане project.Recalculate() преди да се изнася.

Стъпка по стъпка ръководство

Стъпка 1: Заредете MPP файла

Прочетете вашия .mpp и да се уверите, че изчисленията са актуални, така че датите, продължителността и показателите са правилни при износа.

Стъпка 2: Настройване на настройките за оформление

Изберете размер на страницата/ориентация (например, A3 пейзаж за широка Gantt). FitContent За да се избегнат изкривявания и ReduceFooterGap За да се възстанови Whitespace.

Стъпка 3: Настройване на скалирането и съдържанието

Използвайте Timescale (Дни, седмици, месеци) и е опционален RenderToSinglePage За кратко резюме.

Стъпка 4: Добавяне на мнения на заинтересовани страни

Износ на алтернативни възгледи като Използване на ресурсите за време-фази подробности, и включва Прекомерно разпределени ресурси Съобщение за конфликти в центъра на вниманието.

Пълно, компилируемо пример (C#)

using System;
using Aspose.Tasks;
using Aspose.Tasks.Saving;
using Aspose.Tasks.Visualization;

namespace MppToPdfCustomized
{
    internal static class Program
    {
        // How to run:
        // 1) dotnet new console -n MppToPdfCustomized
        // 2) cd MppToPdfCustomized
        // 3) dotnet add package Aspose.Tasks
        // 4) Replace Program.cs with this file's contents
        // 5) dotnet run -- "path-to-input.mpp"
        private static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Usage: dotnet run -- <path-to-input.mpp>");
                return;
            }

            string input = args[0];

            // Load project and ensure calculations are current
            var project = new Project(input)
            {
                CalculationMode = CalculationMode.Automatic
            };
            project.Recalculate();

            // 1) Gantt PDF: A3 landscape, weekly timescale, fit rows
            var ganttOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.GanttChart,
                IsPortrait = false,
                PageSize = PageSize.A3,
                Timescale = Timescale.Weeks,
                FitContent = true,
                ReduceFooterGap = true,
                StartDate = project.Get(Prj.StartDate).Date,
                EndDate = project.Get(Prj.FinishDate).Date
            };
            string baseName = System.IO.Path.GetFileNameWithoutExtension(input);
            project.Save($"{baseName}-gantt.pdf", ganttOptions);
            Console.WriteLine($"Saved: {baseName}-gantt.pdf");

            // 2) Single-page Gantt summary (auto-scaling)
            var singlePageOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.GanttChart,
                IsPortrait = false,
                RenderToSinglePage = true
            };
            project.Save($"{baseName}-gantt-singlepage.pdf", singlePageOptions);
            Console.WriteLine($"Saved: {baseName}-gantt-singlepage.pdf");

            // 3) Resource Usage view with daily timescale
            var usageOptions = new PdfSaveOptions
            {
                PresentationFormat = PresentationFormat.ResourceUsage,
                Timescale = Timescale.Days,
                FitContent = true
            };
            project.Save($"{baseName}-resource-usage.pdf", usageOptions);
            Console.WriteLine($"Saved: {baseName}-resource-usage.pdf");

            // 4) Built-in Overallocated Resources report (highlights conflicts)
            project.SaveReport($"{baseName}-overallocated-resources.pdf", ReportType.OverallocatedResources);
            Console.WriteLine($"Saved: {baseName}-overallocated-resources.pdf");
        }
    }
}

Как да бягаме

  1. dotnet new console -n MppToPdfCustomized
  2. cd MppToPdfCustomized
  3. dotnet add package Aspose.Tasks
  4. Замества Program.cs С кода по-горе
  5. dotnet run -- "path-to-input.mpp"

Какво прави Кодексът

  • натоварване Вашият MPP и позволява Автоматично изчисляване.
  • Износът конфигуриращи Гант и Използване на ресурсите ПППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППППП Еднолична страница Съвпадение.
  • генерация на Прекомерно разпределени ресурси Създаване на спорове за конфликти на ресурси.

Премахване на проблеми & Tips

  • PDF твърде широк/дълъг: Опитайте Timescale = Timescale.Months или позволява RenderToSinglePage За резюме.
  • Изрязани редове: Гарантира FitContent = true и разглежда ReduceFooterGap = true.
  • Няма да подчертавам: Използвайте SaveReport(..., ReportType.OverallocatedResources) (доклади) или износ Използване на ресурса / Resource Sheet За контекста: прост изглед на Гант няма да оцветява общите места.
  • Източници / Местни: Използване на необходимите шрифтове на сървъра; PdfSaveOptions.FontSettings За да се справят с козметичните навици.

FAQ

Q1.Мога ли да експортирам само един диапазон от дати на графика? Да, сет StartDate и EndDate е PdfSaveOptions Да се направи само този прозорец.

Q2.Как да намалите броя на страниците за много големи проекти? Използвайте Coarser Timescale (неделя/месец) на определени FitContent = true,и разглежда RenderToSinglePage За резюме.

Q3.Какво ще стане, ако се нуждая от бърз списък с общоразпределени ресурси? Износът на Прекомерно разпределени ресурси Доклад с project.SaveReport(...);• Оптимизиран е за тази цел.

Q4.Имам ли нужда от Microsoft Project инсталиран? Задачите преобразуват файловете самостоятелно; просто инсталирайте Aspose.Tasks Пакетът е нулев.

Q5.Мога ли да персонализирам колони в експортираните изгледи? Да, използвайте PdfSaveOptions.View/ViewSettings За да се определят конкретни колони; в противен случай се използват подразбиращи се.

Заключението

Използване PdfSaveOptions и правилния избор на изглед/отчет, можете да създавате полирани PDF файлове, съобразени със заинтересованите страни: широки времеви линии на Гант, обобщения на една страница и експорти, фокусирани върху ресурсите. Започнете с разумни настройки на страниците, поддържайте изчисленията актуални и настройвайте времевата скала и датата за чист, четлив изход.

More in this category