Travailler avec les pages du projet
Aspose.Tasks pour C ++ peut récupérer le nombre total de pages dans un projet. La méthode GetPageCount offerte par Aspose.Tasks Visualization Namespace Renvoie le nombre total de pages dans un projet avec des options pour les rendre en fonction de Timescale.Days, Timescale.Months ou Timescale.
Obtenez le nombre de pages dans le projet
La classe de projet expose la méthode GetPageCount qui est utilisée pour obtenir le nombre de pages totales dans un projet. Le nombre total de pages dans un projet peut être récupéré pour l’échelle de temps.Days, Timescale.Monhes ou Timescale.
Pour enregistrer un projet sur PDF:
- Chargez un fichier de projet Microsoft.
- Obtenez le nombre total de pages du projet à l’aide de la méthode GetPageCount avec des paramètres de temps en option.
Échantillon de programmation: Obtenez le nombre de pages dans le projet Les lignes de code suivantes montrent comment obtenir un certain nombre de pages dans le projet.
1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3
4// Read the input Project file
5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPages.mpp");
6
7// Get number of pages, Timescale.Months, Timescale.ThirdsOfMonths
8int32_t iPages = project->GetPageCount();
9iPages = project->GetPageCount(Aspose::Tasks::Visualization::Timescale::Months);
10iPages = project->GetPageCount(Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths);
Programming Sample: Get the number of pages for different Views Aspose.Tasks for C++ supports rendering a project’s resource usage, resource sheet and task usage to PDF format, and enables users to get the number of pages in the rendered output for these views. This programming sample demonstrates rendering a projects’ usage view and getting the number of pages in the rendered output.
1// The path to the documents directory.
2System::String dataDir = RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());
3
4// Read the source Project
5System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPagesForViews.mpp");
6
7// Get number of pages, Months and ThirdsOfMonths
8System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::Days)));
9System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::Months)));
10System::Console::WriteLine(System::String::Format(u"Number of Pages = '{0}'",project->GetPageCount(Aspose::Tasks::Visualization::PresentationFormat::ResourceUsage, Aspose::Tasks::Visualization::Timescale::ThirdsOfMonths)));
Programming Sample: Get number of pages based on Start and End Dates
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"GetNumberOfPages.mpp");
2
3auto options = [&]{ auto tmp_0 = System::MakeObject<ImageSaveOptions>(Aspose::Tasks::Saving::SaveFileFormat::PNG); tmp_0->set_SaveToSeparateFiles(true); tmp_0->set_PageSize(Aspose::Tasks::Visualization::PageSize::A3); tmp_0->set_Timescale(Aspose::Tasks::Visualization::Timescale::Months); tmp_0->set_StartDate(project->Get<System::DateTime>(Prj::StartDate()) - System::TimeSpan::FromDays(10)); tmp_0->set_EndDate(project->Get<System::DateTime>(Prj::FinishDate()) + System::TimeSpan::FromDays(30)); return tmp_0; }();
4int32_t pageCount = project->GetPageCount(Aspose::Tasks::Visualization::PageSize::A3, Aspose::Tasks::Visualization::Timescale::Months, project->Get<System::DateTime>(Prj::StartDate()) - System::TimeSpan::FromDays(10), project->Get<System::DateTime>(Prj::FinishDate()) + System::TimeSpan::FromDays(30));
5
6System::Console::WriteLine(pageCount);