本文包含在 C# 中以编程方式将 PDF 转换为 PPT 或 PPTX 的步骤和代码示例。

将 PDF 转换为 PPT C#

PDF 是一种广泛使用的格式,用于可靠地交换文档,而无需担心布局问题。另一方面,PowerPoint 演示文稿 (PPT/PPTX) 使以交互式幻灯片的形式呈现数据或信息变得更加容易。在某些情况下,PDF 文件中包含的信息需要以 PowerPoint 演示文稿的形式呈现。对于这种情况,您可以通过自动将信息从 PDF 导入到 PowerPoint PPT/PPTX 的过程来最大程度地减少工作量。

为了处理上述场景,本文将演示如何:

用于 PDF 到 PowerPoint 转换的 C# API

为了将 PDF 转换为 PPT 或 PPTX,我们将使用 Aspose.PDF for .NET 这是一个强大的 PDF API 来创建、处理和转换 PDF 文档。 Aspose.PDF for .NET 可在 NuGet 以及 Downloads 部分中以 DLL 的形式获得。

在 C# 中将 PDF 转换为 PPT 或 PPTX

以下是使用 Aspose.PDF for .NET 将 PDF 文件转换为 PowerPoint 演示文稿的步骤。

以下代码示例展示了如何在 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;
	} 
}

输出

相关文章

信息:使用自己的 API,Aspose 开发了 将 PDF 转换为 PowerPoint 的免费在线服务。