C++에서 PDF를 Microsoft PowerPoint로 변환

개요

이 문서에서는 C++를 사용하여 PDF를 PowerPoint 형식으로 변환하는 방법을 설명합니다. 다음 주제를 다룹니다.

형식: PPTX

형식: Microsoft PowerPoint PPTX 형식

이 문서에서 다루는 기타 주제.

C++ PDF에서 PowerPoint 변환

**Aspose.PDF for C++**를 사용하면 PDF에서 PPTX로 변환하는 진행 상황을 추적할 수 있습니다.

PDF를 PPTX로 변환하는 동안, 텍스트는 선택/업데이트할 수 있는 텍스트로 렌더링됩니다. PDF 파일을 PPTX 형식으로 변환하려면, Aspose.PDF는 PptxSaveOptions라는 클래스를 제공합니다. PptxSaveOptions 클래스의 객체는 Document.Save(..) method 메소드의 두 번째 인수로 전달됩니다. 다음 코드 스니펫은 PDF 파일을 PPTX 형식으로 변환하는 과정을 보여줍니다.

Aspose.PDF for C++를 사용한 PDF에서 PPTX로의 간단한 변환

PDF를 PPTX로 변환하기 위해, Aspose.PDF for C++는 다음의 코드 단계를 사용할 것을 권장합니다.

단계: C++에서 PDF를 PPTX로 변환 | 단계: C++에서 PDF를 PowerPoint PPTX 형식으로 변환

  1. Document 클래스의 인스턴스를 생성합니다.
  2. PptxSaveOptions 클래스의 인스턴스를 생성합니다.
  3. Document 객체의 Save 메서드를 사용하여 PDF를 PPTX로 저장합니다.
void ConvertPDFtoPPTX()
{
    std::clog << __func__ << ": Start" << std::endl;
    // 경로 이름을 위한 문자열
    String _dataDir("C:\\Samples\\Conversion\\");

    // 파일 이름을 위한 문자열
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // 문서를 엽니다
    auto document = MakeObject<Document>(_dataDir + infilename);

    // PPTX 형식으로 출력 저장
    document->Save(_dataDir + outfilename, SaveFormat::Pptx);
    std::clog << __func__ << ": Finish" << std::endl;
}

슬라이드를 이미지로 PDF를 PPTX로 변환

선택 가능한 텍스트 대신 이미지로 검색 가능한 PDF를 PPTX로 변환해야 하는 경우, Aspose.PDF는 Aspose.Pdf.PptxSaveOptions 클래스를 통해 이러한 기능을 제공합니다. 이 작업을 수행하려면 PptxSaveOptios 클래스의 SlidesAsImages 속성을 ’true’로 설정합니다. 다음 코드 샘플에 나와 있습니다.

void ConvertPDFtoPPTX_SlidesAsImages()
{
    std::clog << __func__ << ": Start" << std::endl;
    // 경로 이름에 대한 문자열
    String _dataDir("C:\\Samples\\Conversion\\");

    // 파일 이름에 대한 문자열
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // 문서 열기
    auto document = MakeObject<Document>(_dataDir + infilename);

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

    // PPTX 형식으로 출력 저장
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

PPTX 변환의 진행 상세 정보

Aspose.PDF for C++를 사용하면 PDF에서 PPTX로의 변환 진행 상황을 추적할 수 있습니다. Aspose.Pdf.PptxSaveOptions 클래스는 변환의 진행 상황을 추적하기 위해 사용자 지정 메서드에 지정할 수 있는 CustomProgressHandler 속성을 제공합니다. 다음 코드 샘플에 나와 있습니다.

void ConvertPDFtoPPTX_ProgressDetailConversion()
{
    std::clog << __func__ << ": Start" << std::endl;
    // 경로 이름을 위한 문자열
    String _dataDir("C:\\Samples\\Conversion\\");

    // 파일 이름을 위한 문자열
    String infilename("JSON Fundamenals.pdf");
    String outfilename("JSON Fundamenals.pptx");

    // 문서 열기
    auto document = MakeObject<Document>(_dataDir + infilename);

    auto pptxOptions = MakeObject<PptxSaveOptions>();
    //pptxOptions->set_SlidesAsImages(true);
    //사용자 지정 진행 상황 핸들러 지정
    pptxOptions->set_CustomProgressHandler(ShowProgressOnConsole);

    // PPTX 형식으로 출력 저장
    document->Save(_dataDir + outfilename, pptxOptions);
    std::clog << __func__ << ": Finish" << std::endl;
}

다음은 진행 상황 변환을 표시하기 위한 사용자 정의 메서드입니다.

void ShowProgressOnConsole(SharedPtr<UnifiedSaveOptions::ProgressEventHandlerInfo> eventInfo)
{
    switch (eventInfo->EventType)
    {
    case ProgressEventType::TotalProgress:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - 변환 진행률 : " << eventInfo->Value << std::endl;
    break;
    case ProgressEventType::ResultPageCreated:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - 결과 페이지의 " << eventInfo->Value << " / " << eventInfo->MaxValue << " 레이아웃 생성됨." << std::endl;
    break;
    case ProgressEventType::ResultPageSaved:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - 결과 페이지의 " << eventInfo->Value << " / " << eventInfo->MaxValue << " 내보내짐." << std::endl;
    break;
    case ProgressEventType::SourcePageAnalysed:
    std::clog << DateTime::get_Now().get_TimeOfDay() << " - 소스 페이지 " << eventInfo->Value << " / " << eventInfo->MaxValue << " 분석됨." << std::endl;
    break;
    default:
    break;
    }
}

관련 항목

이 문서에서는 다음 주제도 다룹니다. 코드는 위와 동일합니다.

형식: PowerPoint

Format: Microsoft PowerPoint PPTX format

Format: PPTX