您是否正在尋找一種無需使用 Microsoft Project 即可將 MS Project 文件轉換為 PDF 格式的方法?如果是這樣,那麼您來對地方了。在本文中,我們將通過幾個簡單的步驟向您展示如何在 C# 中將 MS Project 轉換為 PDF。
Microsoft Project 是一個軟件程序,它允許團隊組織他們的項目、跟踪進度並確保人們知道他們應該做什麼。但是,有時需要將 Microsoft Project 文檔轉換為 PDF 文件 - 例如當您想要提交合同提案或在外出會議時隨身攜帶。
在現代,PDF 是存儲和共享文檔的最常用格式。 PDF 已被用於替代印刷文檔。將項目數據從 MS Project 文件導出到 PDF 文檔允許以可移植格式共享項目任務、資源、分配、時間表、預算和其他不同的項目相關信息。本文將向您展示如何在 C# 中以編程方式執行此操作。讓我們開始吧!
本文將涵蓋以下主題:
- 創建 MS 項目到 PDF 轉換器的 C# API
- 將 MS 項目轉換為 PDF
- 將特定 MS 項目視圖導出為 PDF
- 使內容適合單元格並將 MS 項目轉換為 PDF
- 將 MS Project MPP 轉換為無圖例的 PDF
- 自定義文本樣式和 MS Project 導出為 PDF
- 在將 MS 項目轉換為 PDF 時自定義日期格式
- 將 MS 項目轉換為多個 PDF 文件
用於創建 MS 項目到 PDF 轉換器的 C# API
為了將 MS Project 轉換為 PDF,我們將使用 Aspose.Tasks for .NET API。該 API 允許您在不安裝 Microsoft Project 的情況下讀取和寫入支持的文件格式。此外,它還允許您轉換和保存 MS Project 文件。
Aspose.Tasks for .NET 是一個類庫,提供各種類來處理項目、公式、日曆、日曆異常、任務、任務鏈接、任務基線、項目資源、資源分配、貨幣、處理異常、報告服務和項目風險分析。請閱讀 API 參考 中有關類和方法的更多信息。
請下載 API 的 DLL 或使用 NuGet 安裝它。
PM> Install-Package Aspose.Tasks
使用 C# 將 MS 項目轉換為 PDF
我們可以按照以下步驟輕鬆地將所有項目數據從 MS Project 轉換為 PDF:
- 使用 Project 類加載 MS Project 文件。
- 使用 Save() 方法保存為 PDF。它以輸出 PDF 文件路徑和 SaveFileFormat.Pdf 作為參數。
以下示例代碼顯示瞭如何在 C# 中將 MS Project 轉換為 PDF。
// 此代碼示例演示如何將 MS 項目文件 (MPP) 轉換為 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 將項目另存為 PDF
project.Save("C:\\Files\\project_out.pdf", SaveFileFormat.Pdf);
在 C# 中將特定的 MS 項目視圖導出為 PDF
在 Microsoft Project 中,視圖顯示您在 Microsoft Project 中輸入的信息,或者 Project 在計算字段中為您計算的信息。 MS Project 提供了不同的視圖來呈現各種格式的項目信息,例如甘特圖、任務使用情況、資源使用情況等。我們可以按照以下步驟呈現任何視圖並將其導出為 PDF:
- 首先,使用 Project 類加載 MS Project 文件。
- 接下來,創建 PdfSaveOptions 類的實例。
- 之後,指定 PresentationFormat。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下示例代碼顯示瞭如何在 C# 中將任何特定的 MS 項目視圖導出為 PDF。
// 此代碼示例演示如何將 MS Project 的特定視圖導出為 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 定義 PDF 保存選項
PdfSaveOptions saveOptions = new PdfSaveOptions();
// 指定視圖
saveOptions.PresentationFormat = PresentationFormat.TaskSheet;
// 將項目另存為 PDF
project.Save("C:\\Files\\SaveView_out.pdf", saveOptions);
在 C# 中使內容適合單元格並將 MS 項目轉換為 PDF
項目視圖顯示會截斷名稱等字段中的長文本。我們可以將其設置為顯示全文以避免任務和資源名稱被截斷。我們可以按照以下步驟將內容放入單元格,然後轉換為 PDF:
- 首先,使用 Project 類加載 MS Project 文件。
- 接下來,創建 PdfSaveOptions 類的實例。
- 之後,將 FitContent 指定為 true。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下示例代碼顯示瞭如何在 C# 中使內容適合單元格並將 MS Project 轉換為 PDF。
// 此代碼示例演示如何使內容適合單元格並將 MS Project 轉換為 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 初始化 PDF 保存選項
SaveOptions options = new PdfSaveOptions();
// 將選項適合內容設置為 true
options.FitContent = true;
options.Timescale = Timescale.Months;
options.PresentationFormat = PresentationFormat.TaskUsage;
// 將項目另存為 PDF
project.Save("C:\\Files\\FitContentsToCellSize_out.pdf", options);
在 C# 中將 MS 項目轉換為沒有圖例的 PDF
在 MS Project 中,圖例默認出現在所有頁面上,但我們可以通過以下步驟隱藏它:
- 首先,使用 Project 類加載 MS Project 文件。
- 接下來,創建 PdfSaveOptions 類的實例。
- 之後,將 LegendOnEachPage 指定為 false。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下示例代碼顯示瞭如何在 C# 中將 MS Project MPP 轉換為無圖例的 PDF。
// 此代碼示例演示如何將 MS Project 轉換為沒有圖例的 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 初始化 PDF 保存選項
PdfSaveOptions saveOptions = new PdfSaveOptions();
// 隱藏圖例
saveOptions.LegendOnEachPage = false;
// 將項目另存為 PDF
project.Save("C:\\Files\\SaveLegend_out.pdf", saveOptions);
在 C# 中自定義文本樣式和 MS Project 導出為 PDF
我們可以按照以下步驟自定義將 MS Project 渲染成 PDF 時的文本樣式:
- 首先,使用 Project 類加載 MS Project 文件。
- 接下來,創建 PdfSaveOptions 類的實例。
- 然後,實例化 TextStyle 類對象。
- 同時,指定 Color、Font 和 ItemType 屬性。
- 之後,將 TextStyle 添加到 TextStyles 列表中。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下示例代碼展示瞭如何在 C# 中將 MS Project 轉換為 PDF 時自定義文本樣式。
// 此代碼示例演示如何將 MS Project 轉換為具有自定義文本樣式的 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 初始化 PDF 保存選項
PdfSaveOptions saveOptions = new PdfSaveOptions();
// 定義文本樣式
TextStyle style = new TextStyle();
style.Color = Color.Red;
style.Font = new FontDescriptor(FontFamily.GenericMonospace.Name, 5F, FontStyles.Bold | FontStyles.Italic);
style.ItemType = TextItemType.SummaryTasks;
style.BackgroundColor = Color.Aqua;
style.BackgroundPattern = BackgroundPattern.DarkDither;
// 添加文字樣式
options.TextStyles = new List<TextStyle>();
options.TextStyles.Add(style);
// 將項目另存為 PDF
project.Save("C:\\Files\\CustomizeTextStyle_out.pdf", options);
將 MS Project 轉換為 PDF 時自定義日期格式
我們還可以按照以下步驟自定義將 MS Project 渲染為 PDF 時的日期格式:
- 使用 Project 類加載 MS Project 文件。
- 使用 Prj.DateFormat 作為鍵並使用 DateFormat 作為值調用 Set() 方法。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 SaveFileFormat.Pdf 作為參數。
以下示例代碼顯示瞭如何在 C# 中自定義日期格式並將 MS Project 轉換為 PDF。
// 此代碼示例演示如何自定義日期格式並將 MS Project 轉換為 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 設置自定義日期格式
project.Set(Prj.DateFormat, DateFormat.DateMmmmDdYyyy);
// 將項目另存為 PDF
project.Save("C:\\Files\\CustomizeDateFormats1_out.pdf", SaveFileFormat.Pdf);
在 C# 中將 MS 項目轉換為多個 PDF 文件
我們還可以按照以下步驟將 MS Project 轉換為多個 PDF 頁面:
- 首先,使用 Project 類加載 MS Project 文件。
- 接下來,創建 PdfSaveOptions 類的實例。
- 然後,將 SaveToSeparateFiles 指定為 true。
- 之後,添加頁碼以包含在頁面列表中。
- 最後,調用 Save() 方法。它以輸出 PDF 文件路徑和 PdfSaveOptions 作為參數。
以下示例代碼顯示瞭如何在 C# 中將 MS Project 轉換為多個 PDF 文檔。
// 此代碼示例演示如何將 MS Project 轉換為多個 PDF。
// 加載項目 MPP
Project project = new Project("C:\\Files\\project.mpp");
// 初始化 PDF 保存選項
PdfSaveOptions saveOptions = new PdfSaveOptions();
// 設置頁面以保存在單獨的文件中
options.SaveToSeparateFiles = true;
options.Pages = new List<int>();
options.Pages.Add(1);
options.Pages.Add(4);
// 另存為 PDF
project.Save("C:\\Files\\SaveToMultiplePDFFiles_out.pdf", options);
獲得免費許可證
您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。
結論
在本文中,我們學習瞭如何:
- 加載 MS 項目文件;
- 指定 PDF 保存選項;
- 在 C# 中將加載的 MS 項目保存為 PDF。
除了在 C# 中將 MS Project 轉換為 PDF 之外,您還可以使用 文檔 了解有關 Aspose.Note for .NET API 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。