Конвертация PDF в PowerPoint в .NET

Обзор

В этой статье объясняется, как конвертировать PDF в PowerPoint с использованием C#. Она охватывает следующие темы.

Формат: PPTX

Формат: PowerPoint

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

C# Конвертация PDF в PowerPoint и PPTX

Преобразование PDF в PowerPoint и PPTX

Aspose.PDF для .NET позволяет отслеживать прогресс преобразования PDF в PPTX.

У нас есть API под названием Aspose.Slides, который предлагает функционал для создания и управления презентациями PPT/PPTX. Этот API также предоставляет возможность преобразования файлов PPT/PPTX в формат PDF. Недавно многие наши клиенты выразили потребность в поддержке возможности преобразования PDF в формат PPTX. Начиная с версии Aspose.PDF для .NET 10.3.0, мы ввели функцию преобразования документов PDF в формат PPTX. Во время этого преобразования отдельные страницы файла PDF конвертируются в отдельные слайды в файле PPTX.

Во время преобразования PDF в PPTX, текст отображается как текст, который вы можете выбрать или обновить. При конвертации PDF в PPTX, текст отображается как текст, который вы можете выбрать/обновить.

Простая конвертация PDF в PowerPoint с использованием C# и Aspose.PDF .NET

Для конвертации PDF в PPTX, Aspose.PDF для .NET рекомендует использовать следующие шаги кода.

Шаги: Конвертация PDF в PowerPoint на C# | Шаги: Конвертация PDF в PPTX на C#

  1. Создайте экземпляр класса Document
  2. Создайте экземпляр класса PptxSaveOptions
  3. Используйте метод Save объекта Document для сохранения PDF в виде PPTX
// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Загрузка документа PDF
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "input.pdf");
// Создание экземпляра PptxSaveOptions
Aspose.Pdf.PptxSaveOptions pptx_save = new Aspose.Pdf.PptxSaveOptions();
// Сохранение результата в формате PPTX
doc.Save(dataDir + "PDFToPPT_out.pptx", pptx_save);

Конвертация PDF в PPTX с использованием слайдов как изображений

Если вам нужно конвертировать поисковый PDF в PPTX в виде изображений, а не выбираемого текста, Aspose.PDF предоставляет такую функцию через класс Aspose.Pdf.PptxSaveOptions. Для этого установите свойство SlidesAsImages класса PptxSaveOptions в ’true’, как показано в следующем примере кода.

// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории документов.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Загрузка документа PDF
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "input.pdf");
// Создание экземпляра PptxSaveOptions
Aspose.Pdf.PptxSaveOptions pptx_save = new Aspose.Pdf.PptxSaveOptions();
// Сохранение результата в формате PPTX
pptx_save.SlidesAsImages = true;
doc.Save(dataDir + "PDFToPPT_out_.pptx", pptx_save);

Детали прогресса конвертации PPTX

Aspose.PDF для .NET позволяет отслеживать прогресс конвертации PDF в PPTX. Класс Aspose.Pdf.PptxSaveOptions предоставляет свойство CustomProgressHandler, которое может быть указано для пользовательского метода отслеживания прогресса конвертации, как показано в следующем примере кода.

// Для полных примеров и файлов данных, пожалуйста, перейдите по адресу https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Путь к директории с документами.
string dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();
// Загрузка документа PDF
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(dataDir + "input.pdf");
// Создание экземпляра PptxSaveOptions
Aspose.Pdf.PptxSaveOptions pptx_save = new Aspose.Pdf.PptxSaveOptions();

//Указание пользовательского обработчика прогресса
pptx_save.CustomProgressHandler = ShowProgressOnConsole;
// Сохранение результата в формате PPTX
doc.Save(dataDir + "PDFToPPTWithProgressTracking_out_.pptx", pptx_save);

Ниже приведен пользовательский метод для отображения прогресса конвертации.

// Для полных примеров и файлов данных, пожалуйста, перейдите на https://github.com/aspose-pdf/Aspose.PDF-for-.NET
switch (eventInfo.EventType)
{
    case ProgressEventType.TotalProgress:
        Console.WriteLine(String.Format("{0}  - Прогресс конвертации : {1}% .", DateTime.Now.TimeOfDay, eventInfo.Value.ToString()));
        break;
    case ProgressEventType.ResultPageCreated:
        Console.WriteLine(String.Format("{0}  - Создана разметка {1} из {2} страницы результата.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
        break;
    case ProgressEventType.ResultPageSaved:
        Console.WriteLine(String.Format("{0}  - Страница результата {1} из {2} экспортирована.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
        break;
    case ProgressEventType.SourcePageAnalysed:
        Console.WriteLine(String.Format("{0}  - Анализирована исходная страница {1} из {2}.", DateTime.Now.TimeOfDay, eventInfo.Value.ToString(), eventInfo.MaxValue.ToString()));
        break;
    default:
        break;
}

Смотрите также

Эта статья также охватывает следующие темы. Коды такие же, как указано выше.

Формат: PowerPoint

Формат: PPTX