本文演示了如何使用 Aspose.Tasks for C++ 将 Microsoft Project 数据转换为 PDF 文件,这是一个用于操作项目文件的易于使用的 API。此 API 无需使用 Microsoft Project 即可提供 MPP 文件的读取和写入。如果您没有安装 Aspose.Tasks for C++ API,请按照 安装 页面上的说明进行操作。

.mpp 是 Microsoft Project 引入的默认文件扩展名。它通常包含组成特定项目并允许定义项目的关键路径的任务列表。 PDF 是所有现有平台(如 Windows、Linux 和 MAC 等)都支持的“多平台”文件类型。

使用 C++ 将项目 MPP 转换为 PDF

Aspose.Tasks for C++ 通过两步过程简化了在基于 C++ 的应用程序中将任何项目数据导出为 PDF 的功能:

  1. 加载项目文件
  2. 将其保存为 PDF

以下代码片段演示了将项目文件转换为单个 PDF 文件。

// Read the input Project file
System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project.mpp");
    
// Save the Project as PDF
project->Save(dataDir + u"SaveProjectAsPDF_out.pdf", Aspose::Tasks::Saving::SaveFileFormat::PDF);

使用 C++ 将项目 MPP 转换为多个 PDF 文件

Aspose.Tasks for C++ 还允许通过将 SaveToSeparateFiles 标志设置为 TRUE 来将完整的项目数据呈现到多个 PDF 文件中,如下所示:

System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Software Development Plan.mpp");
System::SharedPtr<PdfSaveOptions> saveOptions = System::MakeObject<PdfSaveOptions>();
saveOptions->set_SaveToSeparateFiles(true);
saveOptions->set_Pages(System::MakeObject<System::Collections::Generic::List<int32_t>>());
saveOptions->get_Pages()->Add(1);
saveOptions->get_Pages()->Add(4);
project->Save(dataDir + u"SaveToMultiplePDFFiles_out.pdf", System::StaticCast<Aspose::Tasks::Saving::SaveOptions>(saveOptions));

有关在将任何 MPP 转换为 PDF 时调整列大小和字体设置的更多信息,您可以查看 API 文档的 Convert Project to PDF in the C++ 部分。