Эта статья содержит шаги и примеры кода для программного преобразования PDF в PPT или PPTX на C#.

Преобразование PDF в PPT C#

PDF — один из широко используемых форматов для надежного обмена документами, не беспокоясь о проблемах макета. С другой стороны, презентации PowerPoint (PPT/PPTX) упростили представление данных или информации в виде интерактивных слайдов. В некоторых случаях информацию, содержащуюся в файле PDF, необходимо представить в виде презентации PowerPoint. В таком случае можно минимизировать усилия, автоматизировав процесс импорта информации из PDF в PowerPoint PPT/PPTX.

Чтобы справиться с вышеупомянутым сценарием, эта статья продемонстрирует, как:

C# API для преобразования PDF в PowerPoint

Чтобы преобразовать PDF в PPT или PPTX, мы будем использовать Aspose.PDF для .NET, который представляет собой мощный PDF API для создания, обработки и преобразования PDF-документов. Aspose.PDF для .NET доступен на NuGet, а также в виде DLL в разделе Загрузки.

Преобразование PDF в PPT или PPTX на C#

Ниже приведены шаги для преобразования файла PDF в презентацию PowerPoint с использованием Aspose.PDF для .NET.

  • Создайте объект класса Document.
  • Создайте объект класса PptxSaveOptions.
  • Вызовите метод Document.Save(), чтобы сохранить PDF как PPT или PPTX.

В следующем примере кода показано, как преобразовать PDF в PPT на C#.

// Загрузить PDF-документ
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// Сохранить выходной файл
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

PDF-документ

Преобразованный PowerPoint PPT

Преобразование PDF в PPT на C# — рендеринг слайдов в виде изображений

Если вы хотите избежать выделения текста в преобразованной презентации PowerPoint, вы можете визуализировать каждый слайд как изображение. Для этого вы можете установить для свойства PptxSaveOptions.SlidesAsImages значение true, а остальные шаги останутся прежними.

В следующем примере кода показано, как преобразовать PDF в PPT со слайдами в виде изображений на C#.

// Загрузить PDF-документ
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.SlidesAsImages = true;
// Сохранить выходной файл
pdfDocument.Save("PDF to PPT.ppt", pptxOptions);

Отслеживание процесса преобразования PDF в PPT

Вы также можете отслеживать ход процесса преобразования PDF в PPT, используя Aspose.PDF для .NET. О процессе преобразования можно получить следующую информацию:

  • Общий прогресс преобразования
  • Конец анализа каждой страницы перед конверсией
  • Создание страницы результатов перед физическим экспортом
  • Экспорт каждой страницы результатов

В следующем примере кода показано, как отслеживать преобразование PDF в PPT на C#.

// Загрузить 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.