Microsoft Project文件用于组织和管理项目中的不同任务。您可以使用C#以编程方式将MPP文件转换为PDF。本文将介绍以下内容:
- 使用C#以编程方式将MPP转换为PDF
- 在C#中将MPP转换为多页PDF
- 在C#中将MPP转换为受密码保护和加密的PDF文件
Aspose.Tasks是一个项目管理API,可让您从头开始创建MS Project文件。此外,您可以操纵现有项目以添加一些修改。该API使您可以无缝地执行基本以及高级项目管理操作。如果你还没有用过Aspose.Tasks可以下载最新版测试。
使用C#以编程方式将MPP转换为PDF
可以通过以下步骤将MPP文件转换为PDF文档:
- 加载输入项目文件(MPP)。
- 使用Save()方法导出输出的PDF文件。
以下代码显示了如何使用C#以编程方式将MPP文件转换为PDF:
// Load input Project file (MPP)
Project project = new Project(dataDir + "project.mpp");
// Save output PDF file
project.Save("SaveProjectAsPDF_out.pdf", SaveFileFormat.PDF);
在C#中将MPP转换为多页PDF
有时您可能需要将MPP文件的不同页面转换为单独的PDF文件。您可以按照以下步骤将项目文件转换为多个页面:
- 使用Project类加载输入的MPP(Microsoft Project)文件。
- 初始化PdfSaveOptions类对象。
- 将SaveToSeparateFiles属性设置为true。
- 指定要导出的页码。
- 保存输出的PDF文件。
以下代码演示了如何在C#中以编程方式将MPP文件转换为多个PDF文件:
// Load input MPP (Microsoft Project) file
Project project = new Project("New Project.mpp");
// Initialize PdfSaveOptions class object
PdfSaveOptions options = new PdfSaveOptions();
// Set SaveToSeparateFiles to true
options.SaveToSeparateFiles = true;
// Specify the page numbers
options.Pages = new List();
options.Pages.Add(1);
options.Pages.Add(4);
// Save output PDF file
project.Save("SaveToMultiplePDFFiles_out.pdf", (SaveOptions)options);
在C#中将MPP转换为受密码保护和加密的PDF文件
MPP文件可能包含有关项目的敏感信息,因此您可能仅需要与授权用户共享。您可以按照以下步骤将MPP文件转换为加密和受密码保护的PDF文件:
- 加载输入(MPP)项目文件。
- 初始化PdfEncryptionDetails类对象。
- 设置输出PDF文件的权限。
- 初始化PdfSaveOptions类对象。
- 保存输出的PDF文件。
下面的代码示例说明了如何使用C#将MPP文件转换为受密码保护和加密的PDF文件:
// Load input (MPP) Project file
Project project = new Project("project.mpp");
// Initialize PdfEncryptionDetails class object
PdfEncryptionDetails encryptionDetails = new PdfEncryptionDetails("test", "password", PdfEncryptionAlgorithm.RC4_128);
// Set permissions for output PDF file
encryptionDetails.Permissions = PdfPermissions.None;
// Initialize PdfSaveOptions class object
PdfSaveOptions saveOptions = new PdfSaveOptions();
saveOptions.Timescale = Timescale.Months;
saveOptions.PresentationFormat = PresentationFormat.TaskUsage;
saveOptions.EncryptionDetails = encryptionDetails;
// Save output PDF file
project.Save("Password_output.pdf", saveOptions);