PHP에서 PowerPoint 프레젠테이션을 Markdown으로 변환

소개

Aspose.Slides를 사용하면 PowerPoint 프레젠테이션을 Markdown으로 변환할 수 있으며, 이는 문서 워크플로, 정적 사이트 생성, 콘텐츠 마이그레이션 및 버전 관리된 텍스트 게시에 유용합니다. API는 PPT 및 PPTX 프레젠테이션을 MD 파일로 직접 내보내는 것을 지원하며, 결과 Markdown 문서에 슬라이드 내용이 어떻게 표시되는지를 제어하는 추가 옵션을 제공합니다.

프레젠테이션을 일반 Markdown으로 내보낼 수 있으며, CommonMark 및 GitHub Flavored Markdown과 같은 다양한 Markdown 변형 중에서 선택하고, 내보내기 중 이미지 처리 방식을 구성할 수 있습니다. 시각적 콘텐츠가 포함된 프레젠테이션의 경우, Aspose.Slides는 이미지를 별도 폴더에 저장하고 생성된 Markdown 파일에서 참조하도록 할 수 있습니다.

프레젠테이션을 Markdown으로 변환

이 섹션에서는 Aspose.Slides가 PowerPoint 및 OpenDocument 프레젠테이션(PPT, PPTX, ODP)을 깨끗한 Markdown으로 변환하는 방법을 설명합니다. 원래 슬라이드 계층 구조, 텍스트 및 핵심 형식을 유지하여 문서화 또는 버전 관리 워크플로에서 추가 수작업 없이 콘텐츠를 재사용할 수 있습니다.

  1. 프레젠테이션을 나타내기 위해 Presentation 클래스의 인스턴스를 생성합니다.
  2. save 메서드를 사용하여 Markdown 파일로 내보냅니다.

다음 PHP 코드는 PowerPoint 프레젠테이션을 Markdown으로 변환하는 방법을 보여줍니다:

$presentation = new Presentation("presentation.pptx");
try {
    $presentation->save("presentation.md", SaveFormat::Md);
} finally {
    $presentation->dispose();
}

프레젠테이션을 Markdown 변형으로 변환

Aspose.Slides를 사용하면 PowerPoint 프레젠테이션을 기본 구문을 사용한 Markdown으로 변환할 수 있을 뿐만 아니라 CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab 및 기타 17가지 Markdown 변형으로 변환할 수 있습니다.

다음 PHP 코드는 PowerPoint 프레젠테이션을 CommonMark로 변환하는 방법을 보여줍니다:

$presentation = new Presentation("presentation.pptx");
try {
    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setFlavor(Flavor->CommonMark);

    $presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

지원되는 23가지 Markdown 변형은 Flavor enumeration에 나열되어 있습니다.

이미지가 포함된 프레젠테이션을 Markdown으로 변환

MarkdownSaveOptions 클래스는 결과 Markdown 파일을 구성할 수 있는 속성과 열거형을 제공합니다. 예를 들어, MarkdownExportType 열거형은 이미지 처리 방식을 Sequential, TextOnly 또는 Visual 중 하나로 지정합니다.

이미지 순차 변환

결과 Markdown에서 이미지가 각각 순차적으로 나타나길 원한다면 Sequential 옵션을 선택해야 합니다. 다음 PHP 코드는 이미지가 포함된 프레젠테이션을 Markdown으로 변환하는 방법을 보여줍니다:

$presentation = new Presentation("presentation.pptx");
try {
    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setShowHiddenSlides(true);
    $saveOptions->setShowSlideNumber(true);
    $saveOptions->setFlavor(Flavor->Github);
    $saveOptions->setExportType(MarkdownExportType::Sequential);
    $saveOptions->setNewLineType(NewLineType::Windows);

    $slideIndices = array(1, 2, 3, 4);
    $presentation->save("presentation.md", $slideIndices, SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

이미지 시각적 변환

결과 Markdown에 이미지가 함께 표시되길 원한다면 Visual 옵션을 선택해야 합니다. 이 경우, 이미지는 애플리케이션 현재 디렉터리에 저장되며 (Markdown 문서에 상대 경로가 생성됩니다), 또는 원하는 디렉터리와 폴더 이름을 지정할 수 있습니다.

다음 PHP 코드는 해당 작업을 보여줍니다:

$presentation = new Presentation("presentation.pptx");
try {
    $outPath = "c:/documents";

    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setExportType(MarkdownExportType::Visual);
    $saveOptions->setImagesSaveFolderName("md-images");
    $saveOptions->setBasePath($outPath);

    $presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

자주 묻는 질문

하이퍼링크가 Markdown으로 내보낼 때 유지되나요?

예. 텍스트 hyperlinks는 표준 Markdown 링크로 보존됩니다. 슬라이드 transitionsanimations는 변환되지 않습니다.

다중 스레드로 실행하여 변환 속도를 높일 수 있나요?

파일별로 병렬 처리를 할 수 있지만, 스레드 간에 동일한 Presentation 인스턴스를 don’t share하지 않아야 합니다. 파일당 별도의 인스턴스/프로세스를 사용하여 경쟁을 방지하십시오.

이미지는 어떻게 처리되나요—어디에 저장되며 경로는 상대 경로인가요?

Images는 전용 폴더에 내보내지며, 기본적으로 Markdown 파일은 상대 경로로 이미지를 참조합니다. 기본 출력 경로 및 자산 폴더 이름을 구성하여 예측 가능한 저장소 구조를 유지할 수 있습니다.