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.
ExportType = MarkdownExportType::Visual i określić BasePath, gdzie zostaną zapisane obrazy odwoływane w dokumencie 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.
- Utwórz instancję klasy Presentation reprezentującą prezentację.
- 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.
markdownSaveOptions.setExportType(MarkdownExportType::Visual) i ustaw BasePath, który określa, gdzie zostaną zapisane obrazy odwoływane w pliku Markdown.
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.