本文包含在 C# 中以編程方式將 PDF 轉換為 PPT 或 PPTX 的步驟和代碼示例。
PDF 是一種廣泛使用的格式,可以可靠地交換文檔而無需擔心佈局問題。另一方面,PowerPoint 演示文稿 (PPT/PPTX) 可以更輕鬆地以交互式幻燈片的形式呈現數據或信息。在某些情況下,需要將 PDF 文件中包含的信息呈現為 PowerPoint 演示文稿。對於這種情況,您可以通過自動化將信息從 PDF 導入到 PowerPoint PPT/PPTX 的過程來最大程度地減少工作量。
為了處理上述場景,本文將演示如何:
- 在 C# 中將 PDF 轉換為 PowerPoint PPT 或 PPTX。
- 在 C# 中將 PDF 轉換為 PowerPoint PPT 或 PPTX,幻燈片作為圖像。
- 跟踪 PDF 到 PowerPoint 的轉換進度。
用於 PDF 到 PowerPoint 轉換的 C# API
為了將 PDF 轉換為 PPT 或 PPTX,我們將使用 Aspose.PDF for .NET 這是一個強大的 PDF API 來創建、處理和轉換 PDF 文檔。 Aspose.PDF for .NET 可在 NuGet 上獲得,也可以在 下載 部分以 DLL 的形式獲得。
在 C# 中將 PDF 轉換為 PPT 或 PPTX
以下是使用 Aspose.PDF for .NET 將 PDF 文件轉換為 PowerPoint 演示文稿的步驟。
- 創建 Document 類的對象。
- 創建 PptxSaveOptions 類的對象。
- 調用 Document.Save() 方法將 PDF 保存為 PPT 或 PPTX。
以下代碼示例顯示瞭如何在 C# 中將 PDF 轉換為 PPT。
// 載入PDF文件
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// 保存輸出文件
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);
PDF文檔
轉換後的 PowerPoint PPT
在 C# 中將 PDF 轉換為 PPT - 將幻燈片渲染為圖像
如果您想避免在轉換後的 PowerPoint 演示文稿中出現可選擇的文本,您可以將每張幻燈片呈現為圖像。為此,您可以將 PptxSaveOptions.SlidesAsImages 屬性設置為 true,其餘步驟將保持不變。
下面的代碼示例顯示瞭如何在 C# 中將 PDF 轉換為以幻燈片作為圖像的 PPT。
// 載入PDF文件
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// 保存輸出文件
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);
跟踪 PDF 到 PPT 的轉換進度
您還可以使用 Aspose.PDF for .NET 跟踪 PDF 到 PPT 轉換過程的進度。可以檢索有關轉換過程的以下信息:
- 轉換總進度
- 轉換前每個頁面的分析結束
- 在物理導出之前創建結果頁面
- 每個結果頁面的導出
以下代碼示例顯示如何在 C# 中跟踪 PDF 到 PPT 的轉換。
// 載入PDF文件
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// 將幻燈片呈現為圖像
pptxOptions.SlidesAsImages = true;
// 在控制台中跟踪進度
pptxOptions.CustomProgressHandler = ShowProgressOnConsole;
// 保存輸出文件
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);
//----------------------------------
public static void ShowProgressOnConsole(PptxSaveOptions.ProgressEventHandlerInfo eventInfo)
{
switch (eventInfo.EventType)
{
case ProgressEventType.TotalProgress:
Console.WriteLine(String.Format("{0} - Conversion progress : {1}% .", DateTime.Now.TimeOfDay, eventInfo.Value.ToString()));
break;
case ProgressEventType.ResultPageCreated:
Console.WriteLine(String.Format("{0} - Result page's {1} of {2} layout created.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
break;
case ProgressEventType.ResultPageSaved:
Console.WriteLine(String.Format("{0} - Result page {1} of {2} exported.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
break;
case ProgressEventType.SourcePageAnalysed:
Console.WriteLine(String.Format("{0} - Source page {1} of {2} analyzed.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
break;
default:
break;
}
}
輸出
相關文章
信息:Aspose 使用自己的 API 開發了將 PDF 轉換為 PowerPoint 的免費在線服務。