本文包含在 C# 中以编程方式将 PDF 转换为 PPT 或 PPTX 的步骤和代码示例。
PDF 是一种广泛使用的格式,用于可靠地交换文档,而无需担心布局问题。另一方面,PowerPoint 演示文稿 (PPT/PPTX) 使以交互式幻灯片的形式呈现数据或信息变得更加容易。在某些情况下,PDF 文件中包含的信息需要以 PowerPoint 演示文稿的形式呈现。对于这种情况,您可以通过自动将信息从 PDF 导入到 PowerPoint PPT/PPTX 的过程来最大程度地减少工作量。
为了处理上述场景,本文将演示如何:
- 在 C# 中将 PDF 转换为 PowerPoint PPT 或 PPTX。
- 将 PDF 转换为 PowerPoint PPT 或 PPTX,并将幻灯片作为 C# 中的图像。
- 跟踪 PDF 到 PowerPoint 的转换进度。
用于 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 演示文稿的步骤。
- 创建 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;
}
}
输出
相关文章
信息:使用自己的 API,Aspose 开发了 将 PDF 转换为 PowerPoint 的免费在线服务。