在 C# 中將 MS 項目轉換為 PDF

您是否正在尋找一種無需使用 Microsoft Project 即可將 MS Project 文件轉換為 PDF 格式的方法?如果是這樣,那麼您來對地方了。在本文中,我們將通過幾個簡單的步驟向您展示如何在 C# 中將 MS Project 轉換為 PDF。

Microsoft Project 是一個軟件程序,它允許團隊組織他們的項目、跟踪進度並確保人們知道他們應該做什麼。但是,有時需要將 Microsoft Project 文檔轉換為 PDF 文件 - 例如當您想要提交合同提案或在外出會議時隨身攜帶。

在現代,PDF 是存儲和共享文檔的最常用格式。 PDF 已被用於替代印刷文檔。將項目數據從 MS Project 文件導出到 PDF 文檔允許以可移植格式共享項目任務、資源、分配、時間表、預算和其他不同的項目相關信息。本文將向您展示如何在 C# 中以編程方式執行此操作。讓我們開始吧!

本文將涵蓋以下主題:

  1. 創建 MS 項目到 PDF 轉換器的 C# API
  2. 將 MS 項目轉換為 PDF
  3. 將特定 MS 項目視圖導出為 PDF
  4. 使內容適合單元格並將 MS 項目轉換為 PDF
  5. 將 MS Project MPP 轉換為無圖例的 PDF
  6. 自定義文本樣式和 MS Project 導出為 PDF
  7. 在將 MS 項目轉換為 PDF 時自定義日期格式
  8. 將 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:

  1. 使用 Project 類加載 MS Project 文件。
  2. 使用 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

使用 C# 將 MS 項目轉換為 PDF。

在 C# 中將特定的 MS 項目視圖導出為 PDF

在 Microsoft Project 中,視圖顯示您在 Microsoft Project 中輸入的信息,或者 Project 在計算字段中為您計算的信息。 MS Project 提供了不同的視圖來呈現各種格式的項目信息,例如甘特圖、任務使用情況、資源使用情況等。我們可以按照以下步驟呈現任何視圖並將其導出為 PDF:

  1. 首先,使用 Project 類加載 MS Project 文件。
  2. 接下來,創建 PdfSaveOptions 類的實例。
  3. 之後,指定 PresentationFormat。
  4. 最後,調用 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

在 C# 中將特定 MS 項目視圖導出為 PDF。

在 C# 中使內容適合單元格並將 MS 項目轉換為 PDF

項目視圖顯示會截斷名稱等字段中的長文本。我們可以將其設置為顯示全文以避免任務和資源名稱被截斷。我們可以按照以下步驟將內容放入單元格,然後轉換為 PDF:

  1. 首先,使用 Project 類加載 MS Project 文件。
  2. 接下來,創建 PdfSaveOptions 類的實例。
  3. 之後,將 FitContent 指定為 true。
  4. 最後,調用 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 項目轉換為 PDF。

在 C# 中將 MS 項目轉換為沒有圖例的 PDF

在 MS Project 中,圖例默認出現在所有頁面上,但我們可以通過以下步驟隱藏它:

  1. 首先,使用 Project 類加載 MS Project 文件。
  2. 接下來,創建 PdfSaveOptions 類的實例。
  3. 之後,將 LegendOnEachPage 指定為 false。
  4. 最後,調用 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 項目轉換為沒有圖例的 PDF

將 MS Project 轉換為沒有圖例的 PDF。

在 C# 中自定義文本樣式和 MS Project 導出為 PDF

我們可以按照以下步驟自定義將 MS Project 渲染成 PDF 時的文本樣式:

  1. 首先,使用 Project 類加載 MS Project 文件。
  2. 接下來,創建 PdfSaveOptions 類的實例。
  3. 然後,實例化 TextStyle 類對象。
  4. 同時,指定 Color、Font 和 ItemType 屬性。
  5. 之後,將 TextStyle 添加到 TextStyles 列表中。
  6. 最後,調用 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);
在 C# 中自定義文本樣式並將 MS 項目轉換為 PDF

自定義文本樣式並將 MS 項目轉換為 PDF。

將 MS Project 轉換為 PDF 時自定義日期格式

我們還可以按照以下步驟自定義將 MS Project 渲染為 PDF 時的日期格式:

  1. 使用 Project 類加載 MS Project 文件。
  2. 使用 Prj.DateFormat 作為鍵並使用 DateFormat 作為值調用 Set() 方法。
  3. 最後,調用 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 時自定義日期格式。

在 C# 中將 MS 項目轉換為多個 PDF 文件

我們還可以按照以下步驟將 MS Project 轉換為多個 PDF 頁面:

  1. 首先,使用 Project 類加載 MS Project 文件。
  2. 接下來,創建 PdfSaveOptions 類的實例。
  3. 然後,將 SaveToSeparateFiles 指定為 true。
  4. 之後,添加頁碼以包含在頁面列表中。
  5. 最後,調用 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 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看