Converter PDF para PowerPoint em .NET

Visão Geral

Este artigo explica como converter PDF para PowerPoint usando C#. Ele cobre os seguintes tópicos.

Formatação: PPTX

Formatação: PowerPoint

O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.

Conversão de C# PDF para PowerPoint e PPTX

Aspose.PDF for .NET permite que você acompanhe o progresso da conversão de PDF para PPTX.

Temos uma API chamada Aspose.Slides que oferece o recurso de criar e manipular apresentações PPT/PPTX. Esta API também fornece o recurso de converter arquivos PPT/PPTX para o formato PDF. Recentemente, recebemos solicitações de muitos de nossos clientes para suportar a capacidade de transformação de PDF para o formato PPTX. A partir do lançamento de Aspose.PDF for .NET 10.3.0, introduzimos um recurso para transformar documentos PDF em formato PPTX. Durante essa conversão, as páginas individuais do arquivo PDF são convertidas em slides separados no arquivo PPTX.

Durante a conversão de PDF para PPTX, o texto é renderizado como Texto onde você pode selecionar/atualizá-lo. Observe que, para converter arquivos PDF para o formato PPTX, o Aspose.PDF fornece uma classe chamada PptxSaveOptions. Um objeto da classe PptxSaveOptions é passado como segundo argumento para o Document.Save(..) method. O seguinte trecho de código mostra o processo de conversão de arquivos PDF para o formato PPTX.

Conversão simples de PDF para PowerPoint usando C# e Aspose.PDF .NET

Para converter PDF para PPTX, Aspose.PDF for .NET recomenda usar os seguintes passos.

Passos: Converter PDF para PowerPoint em C# | Passos: Converter PDF para PPTX em C#

  1. Crie uma instância da classe Document.
  2. Crie uma instância da classe PptxSaveOptions.
  3. Use o método Save do objeto Document para salvar o PDF como 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);
    }
}

Converter PDF para PPTX com Slides como Imagens

Caso você precise converter um PDF pesquisável para PPTX como imagens em vez de texto selecionável, o Aspose.PDF fornece esse recurso através da classe Aspose.Pdf.PptxSaveOptions. Para conseguir isso, defina a propriedade SlidesAsImages da classe PptxSaveOptios como ’true’, conforme mostrado no seguinte exemplo de código.

// 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);
    }
}

Detalhes do Progresso da Conversão PPTX

Aspose.PDF for .NET permite que você acompanhe o progresso da conversão de PDF para PPTX. A classe Aspose.Pdf.PptxSaveOptions fornece a propriedade CustomProgressHandler que pode ser especificada para um método personalizado para rastrear o progresso da conversão, conforme mostrado no seguinte exemplo de código.

 // 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;
    }
}

Veja Também

Este artigo também cobre estes tópicos. Os códigos são os mesmos que acima.

Formatação: PowerPoint

Formatação: PPTX