Конвертирането на файлове на 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");
}
}
}
Как да бягаме
dotnet new console -n MppToPdfCustomizedcd MppToPdfCustomizeddotnet add package Aspose.Tasks- Замества
Program.csС кода по-горе 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 файлове, съобразени със заинтересованите страни: широки времеви линии на Гант, обобщения на една страница и експорти, фокусирани върху ресурсите. Започнете с разумни настройки на страниците, поддържайте изчисленията актуални и настройвайте времевата скала и датата за чист, четлив изход.