Convertir PDF a Microsoft PowerPoint en C++

Descripción General

Este artículo explica cómo convertir PDF a formatos PowerPoint usando C++. Cubre los siguientes temas.

Formato: PPTX

Formato: Formato Microsoft PowerPoint PPTX

Otros temas cubiertos por este artículo.

Conversiones de PDF a PowerPoint en C++

Aspose.PDF para C++ te permite seguir el progreso de la conversión de PDF a PPTX.

Durante la conversión de PDF a PPTX, el texto se representa como Texto donde puedes seleccionarlo/actualizarlo. Por favor, ten en cuenta que para convertir archivos PDF a formato PPTX, Aspose.PDF proporciona una clase llamada PptxSaveOptions. Un objeto de la clase PptxSaveOptions se pasa como segundo argumento al método Document.Save(..) method. El siguiente fragmento de código muestra el proceso para convertir archivos PDF en formato PPTX.

Conversión simple de PDF a PPTX con Aspose.PDF para C++

Para convertir PDF a PPTX, Aspose.PDF para C++ aconseja usar los siguientes pasos de código.

Pasos: Convertir PDF a PPTX en C++ | Pasos: Convertir PDF a formato PowerPoint PPTX en C++

  1. Crear una instancia de la clase Document.
  2. Crear una instancia de la clase PptxSaveOptions.
  3. Utilizar el método Save del objeto Document para guardar el PDF como PPTX.
void ConvertPDFtoPPTX()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Cadena para el nombre de la ruta
    String _dataDir("C:\\Samples\\Conversion\\");

    // Cadena para el nombre del archivo
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // Abrir documento
    auto document = MakeObject<Document>(_dataDir + infilename);

    // Guardar la salida en formato PPTX
    document->Save(_dataDir + outfilename, SaveFormat::Pptx);
    std::clog << __func__ << ": Finish" << std::endl;
}

Convertir PDF a PPTX con diapositivas como imágenes

En caso de que necesite convertir un PDF con capacidad de búsqueda a PPTX como imágenes en lugar de texto seleccionable, Aspose.PDF proporciona tal característica a través de la clase Aspose.Pdf.PptxSaveOptions. Para lograr esto, establezca la propiedad SlidesAsImages de la clase PptxSaveOptios a ’true’ como se muestra en el siguiente ejemplo de código.

void ConvertPDFtoPPTX_SlidesAsImages()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Cadena para el nombre de la ruta
    String _dataDir("C:\\Samples\\Conversion\\");

    // Cadena para el nombre del archivo
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // Abrir documento
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto pptxOptions = MakeObject<PptxSaveOptions>();
    pptxOptions->set_SlidesAsImages(true);

    // Guardar la salida en formato PPTX
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

Detalle del Progreso de la Conversión a PPTX

Aspose.PDF para C++ le permite rastrear el progreso de la conversión de PDF a PPTX. El documento de la clase Aspose.Pdf.PptxSaveOptions proporciona la propiedad CustomProgressHandler que se puede especificar en un método personalizado para rastrear el progreso de la conversión, como se muestra en el siguiente ejemplo de código.

void ConvertPDFtoPPTX_ProgressDetailConversion()
{
    std::clog << __func__ << ": Start" << std::endl;
    // Cadena para el nombre de la ruta
    String _dataDir("C:\\Samples\\Conversion\\");

    // Cadena para el nombre del archivo
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // Abrir documento
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto pptxOptions = MakeObject<PptxSaveOptions>();
    //pptxOptions->set_SlidesAsImages(true);
    //Especificar el Manejador de Progreso Personalizado
    pptxOptions->set_CustomProgressHandler(ShowProgressOnConsole);

    // Guardar la salida en formato PPTX
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

Siguiendo está el método personalizado para mostrar la conversión del progreso.

void ShowProgressOnConsole(SharedPtr<UnifiedSaveOptions::ProgressEventHandlerInfo> eventInfo)
{
    switch (eventInfo->EventType)
    {
    case ProgressEventType::TotalProgress:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - Progreso de conversión : " << eventInfo->Value << std::endl;
    break;
    case ProgressEventType::ResultPageCreated:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - Página de resultados " << eventInfo->Value << " de " << eventInfo->MaxValue << " diseño creado." << std::endl;
    break;
    case ProgressEventType::ResultPageSaved:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - Página de resultados " << eventInfo->Value << " de " << eventInfo->MaxValue << " exportada." << std::endl;
    break;
    case ProgressEventType::SourcePageAnalysed:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - Página fuente " << eventInfo->Value << " de " << eventInfo->MaxValue << " analizada." << std::endl;
    break;
    default:
    break;
    }
}

Ver También

Este artículo también cubre estos temas. Los códigos son los mismos que los anteriores.

Formato: PowerPoint

Format: Microsoft PowerPoint PPTX format

Format: PPTX