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

Обзор

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

Формат: PPTX

Формат: PowerPoint

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

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

Aspose.PDF for .NET позволяет вам отслеживать процесс конвертации PDF в PPTX.

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

Во время конвертации PDF в PPTX текст отображается как текст, который вы можете выбирать/обновлять. Обратите внимание, что для конвертации PDF файлов в формат PPTX Aspose.PDF предоставляет класс PptxSaveOptions. Объект класса PptxSaveOptions передается в качестве второго аргумента в метод Document.Save(..) method. Следующий фрагмент кода демонстрирует процесс конвертации PDF файлов в формат PPTX.

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

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

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

  1. Создайте экземпляр класса Document.
  2. Создайте экземпляр класса PptxSaveOptions.
  3. Используйте метод Save объекта Document, чтобы сохранить PDF как PPTX.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToPPTX()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate PptxSaveOptions object
        var saveOptions = new Aspose.Pdf.PptxSaveOptions();

        // Save the file in PPTX format
        document.Save(dataDir + "PDFToPPT_out.pptx", saveOptions);
    }
}

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

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

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToPPTWithSlidesAsImages()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {
        // Instantiate PptxSaveOptions object
        var saveOptions = new Aspose.Pdf.PptxSaveOptions
        {
            SlidesAsImages = true
        };

        // Save the file in PPTX format with slides as images
        document.Save(dataDir + "PDFToPPT_out.pptx", saveOptions);
    }
}

Подробности о процессе конвертации PPTX

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

 // For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPDFToPPTWithCustomProgressHandler()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "input.pdf"))
    {

        // Instantiate PptxSaveOptions object
        var saveOptions = new Aspose.Pdf.PptxSaveOptions();

        // Specify custom progress handler
        saveOptions.CustomProgressHandler = ShowProgressOnConsole;

        // Save the file in PPTX format with progress tracking
        document.Save(dataDir + "PDFToPPTWithProgressTracking_out.pptx", saveOptions);
    }
}

 // Define the method to handle progress events and display them on the console
private static void ShowProgressOnConsole(Aspose.Pdf.UnifiedSaveOptions.ProgressEventHandlerInfo eventInfo)
{
    switch (eventInfo.EventType)
    {
        case Aspose.Pdf.ProgressEventType.TotalProgress:
            // Display overall progress of the conversion
            Console.WriteLine($"{DateTime.Now.TimeOfDay}  - Conversion progress: {eventInfo.Value}%.");
            break;

        case Aspose.Pdf.ProgressEventType.ResultPageCreated:
            // Display progress of the page layout creation
            Console.WriteLine($"{DateTime.Now.TimeOfDay}  - Result page {eventInfo.Value} of {eventInfo.MaxValue} layout created.");
            break;

        case Aspose.Pdf.ProgressEventType.ResultPageSaved:
            // Display progress of the page being exported
            Console.WriteLine($"{DateTime.Now.TimeOfDay}  - Result page {eventInfo.Value} of {eventInfo.MaxValue} exported.");
            break;

        case Aspose.Pdf.ProgressEventType.SourcePageAnalysed:
            // Display progress of the source page analysis
            Console.WriteLine($"{DateTime.Now.TimeOfDay}  - Source page {eventInfo.Value} of {eventInfo.MaxValue} analyzed.");
            break;

        default:
            break;
    }
}

См. также

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

Формат: PowerPoint

Формат: PPTX