Konwertuj prezentacje PowerPoint do Markdown w PHP

Wprowadzenie

Aspose.Slides umożliwia konwersję prezentacji PowerPoint do formatu Markdown, co może być przydatne w przepływach pracy dokumentacji, generowaniu statycznych stron, migracji treści oraz publikacji tekstu kontrolowanego wersjami. API obsługuje bezpośredni eksport prezentacji PPT i PPTX do plików MD oraz oferuje dodatkowe opcje kontrolujące sposób reprezentacji treści slajdów w powstałym dokumencie Markdown.

Możesz eksportować prezentacje jako zwykły Markdown, wybrać spośród wielu wariantów Markdown, takich jak CommonMark i GitHub Flavored Markdown, oraz skonfigurować sposób obsługi obrazów podczas eksportu. W przypadku prezentacji zawierających treści wizualne, Aspose.Slides umożliwia zapisanie obrazów w oddzielnym folderze i odwoływanie się do nich z wygenerowanego pliku Markdown.

Konwertuj prezentację do Markdown

Ta sekcja wyjaśnia, jak Aspose.Slides konwertuje prezentacje PowerPoint i OpenDocument (PPT, PPTX, ODP) do czystego Markdown, zachowując oryginalną hierarchię slajdów, tekst i podstawowe formatowanie, aby można było ponownie wykorzystać treść w dokumentacji lub w przepływach pracy kontrolowanych wersjami bez dodatkowego ręcznego wysiłku.

  1. Utwórz instancję klasy Presentation reprezentującą prezentację.
  2. Użyj metody save aby wyeksportować ją jako plik Markdown.

Poniższy kod PHP pokazuje, jak skonwertować prezentację PowerPoint do Markdown:

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

Konwertuj prezentację do wybranego wariantu Markdown

Aspose.Slides umożliwia konwersję prezentacji PowerPoint do Markdown z podstawową składnią, a także do CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab i siedemnastu innych wariantów Markdown.

Poniższy kod PHP demonstruje, jak skonwertować prezentację PowerPoint do 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 obsługiwane warianty Markdown są wymienione w enumeracji Flavor.

Konwertuj prezentację zawierającą obrazy do Markdown

Klasa MarkdownSaveOptions udostępnia właściwości i wyliczenia, które pozwalają skonfigurować wynikowy plik Markdown. Na przykład wyliczenie MarkdownExportType określa, jak obsługiwane są obrazy: Sequential, TextOnly lub Visual.

Konwertuj obrazy kolejno

Jeśli chcesz, aby obrazy pojawiały się pojedynczo, jeden po drugim, w wynikowym Markdown, musisz wybrać opcję Sequential. Poniższy kod PHP pokazuje, jak skonwertować prezentację zawierającą obrazy do 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();
}

Konwertuj obrazy wizualnie

Jeśli chcesz, aby obrazy pojawiały się razem w wynikowym Markdown, musisz wybrać opcję Visual. W tym przypadku obrazy są zapisywane w bieżącym katalogu aplikacji (i w dokumencie Markdown generowana jest względna ścieżka), lub możesz określić własny katalog i nazwę folderu.

Poniższy kod PHP demonstruje tę operację:

$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();
}

FAQ

Czy hiperłącza przetrwają eksport do Markdown?

Tak. Tekstowe hyperlinki są zachowane jako standardowe linki Markdown. Przejścia i animacje slajdów nie są konwertowane.

Czy mogę przyspieszyć konwersję, uruchamiając ją w wielu wątkach?

Możesz równolegle przetwarzać pliki, ale nie udostępniaj tej samej instancji Presentation między wątkami. Używaj oddzielnych instancji/procesów dla każdego pliku, aby uniknąć konfliktów.

Co się dzieje z obrazami — gdzie są zapisywane i czy ścieżki są względne?

Obrazy są eksportowane do dedykowanego folderu, a plik Markdown odwołuje się do nich domyślnie za pomocą względnych ścieżek. Możesz skonfigurować bazową ścieżkę wyjściową oraz nazwę folderu zasobów, aby utrzymać przewidywalną strukturę repozytorium.