Работа со страницами проекта
Aspose.Tasks for .NET может получить общее количество страниц в проекте. GetPageCount метод, предоставляемый Aspose.Tasks.Visualization namespace возвращает общее количество страниц в проекте с опцией их отображения на основе Timescale.Days, Timescale.Months или Timescale.ThirdsOfMonths.
Получение количества страниц в проекте
Класс Project предоставляет GetPageCount method.
Вы можете указать разные timescales:
Timescale.Days
– показывает задачи/ресурсы по днямTimescale.Months
– агрегирует по месяцамTimescale.ThirdsOfMonths
– делит каждый месяц на три равные части
Чтобы сохранить проект в PDF:
- Загрузите файл Microsoft Project.
- Получите общее количество страниц проекта с помощью метода GetPageCount с необязательными настройками timescale.
Программный пример: Получение количества страниц в проекте
Ниже приведён код, показывающий, как этого добиться с использованием C#.
1Project project = new Project("New Project.mpp");
2
3// Get number of pages, Timescale.Months, Timescale.ThirdsOfMonths
4int iPages = project.GetPageCount();
5iPages = project.GetPageCount(Timescale.Months);
6iPages = project.GetPageCount(Timescale.ThirdsOfMonths);
Получение количества страниц для различных представлений
Aspose.Tasks for .NET поддерживает отображение Resource Usage, Resource Sheet, и Task Usage представлений в PDF. Вы также можете вычислить количество страниц для каждого представления отдельно. Этот пример кода демонстрирует генерацию представления использования проекта и получение количества страниц в сгенерированном выводе.
Пример: Получение количества страниц для представлений (C#)
1Project project = new Project("New Project.mpp");
2
3// Get number of pages, Months and ThirdsOfMonths
4Console.WriteLine(string.Format("Number of Pages = '{0}'", project.GetPageCount(PresentationFormat.ResourceUsage, Timescale.Days)));
5Console.WriteLine(string.Format("Number of Pages = '{0}'", project.GetPageCount(PresentationFormat.ResourceUsage, Timescale.Months)));
6Console.WriteLine(string.Format("Number of Pages = '{0}'", project.GetPageCount(PresentationFormat.ResourceUsage, Timescale.ThirdsOfMonths)));
Фильтрация количества страниц по диапазону дат
Если вам нужно вычислить количество страниц для определённого диапазона дат (Start–End),
Aspose.Tasks предоставляет перегрузку GetPageCount
метода, принимающую DateTime
параметры.
Программный пример: Получение количества страниц на основе дат начала и окончания
1Project project = new Project("New Project.mpp");
2
3ImageSaveOptions options = new ImageSaveOptions(SaveFileFormat.PNG)
4{
5 SaveToSeparateFiles = true,
6 PageSize = PageSize.A3,
7 Timescale = Timescale.Months,
8 StartDate = project.Get(Prj.StartDate) - TimeSpan.FromDays(10),
9 EndDate = project.Get(Prj.FinishDate) + TimeSpan.FromDays(30)
10};
11int pageCount = project.GetPageCount(
12 PageSize.A3,
13 Timescale.Months,
14 project.Get(Prj.StartDate) - TimeSpan.FromDays(10),
15 project.Get(Prj.FinishDate) + TimeSpan.FromDays(30));
16
17Console.WriteLine(pageCount);