.NET版PDF处理控件Aspose.PDF功能演示:在C#中将PDF文件转换为PPT文稿

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

Aspose.PDF for .NET 是一种PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务,可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adobe Acrobat。

为了处理这种情况,本文将展示如何使用Aspose.PDF在C#.NET中将PDF转换为PPT文稿。本文将演示如何:

  • 在C#中将PDF转换为PowerPoint PPT或PPTX。
  • 在C#中将带有幻灯片的PDF转换为PowerPoint PPT或PPTX。
  • 跟踪PDF到PowerPoint的转换进度。

近日,.NET版Aspose.PDF升级到v20.3版,支持跟踪将PDF转换为PowerPoint演示文稿的进度,增强链接提取功能,修复多项Bug,感兴趣的朋友可点击下方按钮下载最新版。

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

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

  • 创建Document 类的对象。
  • 创建一个PptxSaveOptions 类的对象。
  • 调用Document.Save()方法将PDF保存为PPT或PPTX。

以下代码示例显示了如何在C#中将PDF转换为PPT。

// Load PDF document
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// Save output file
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDF文件

转换的PowerPoint PPT

在C#中将PDF转换为PPT –将幻灯片渲染为图像

如果要避免转换后的PowerPoint演示文稿中包含可选文本,可以将每个幻灯片呈现为图像。为此,可以将PptxSaveOptions.SlidesAsImages属性设置为true,其余步骤将保持不变。下面的代码示例显示了如何在C#中将具有幻灯片作为图像的PDF转换为PPT。

扫描二维码关注公众号,回复: 15681519 查看本文章
// Load PDF document
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// Save output file
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

跟踪PDF到PPT的转换进度

使用Aspose.PDF for .NET跟踪PDF到PPT转换过程的进度。可以检索有关转换过程的以下信息:

  • 转换总进度
  • 转换前对每个页面的分析结束
  • 在物理导出之前创建结果页面
  • 导出每个结果页面

以下代码示例显示了如何在C#中跟踪PDF到PPT的转换。

// Load PDF document
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// Render slides as images
pptxOptions.SlidesAsImages = true;
// Track progress in console
pptxOptions.CustomProgressHandler = ShowProgressOnConsole;
// Save output file
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;
	} 
}

输出结果

猜你喜欢

转载自blog.csdn.net/m0_67129275/article/details/131695629