Konwertuj prezentacje PowerPoint do Markdown w Javie
Wprowadzenie
Aspose.Slides pozwala konwertować prezentacje PowerPoint do formatu Markdown, co może być przydatne w przepływach dokumentacji, generowaniu statycznych stron, migracji treści oraz publikacji tekstu w systemie kontroli wersji. API obsługuje bezpośredni eksport z prezentacji PPT i PPTX do plików MD oraz oferuje dodatkowe opcje kontrolujące, jak zawartość slajdów jest reprezentowana w powstałym dokumencie Markdown.
Można eksportować prezentacje jako zwykły Markdown, wybierać spośród wielu odmian Markdown, takich jak CommonMark i GitHub Flavored Markdown, oraz konfigurować sposób obsługi obrazów podczas eksportu. Dla prezentacji zawierających treści wizualne, Aspose.Slides umożliwia również zapisanie obrazów w osobnym folderze i odwoływanie się do nich z wygenerowanego pliku Markdown.
markdownSaveOptions.setExportType(MarkdownExportType.Visual) oraz setBasePath, w którym obrazy odwoływane w dokumencie markdown zostaną zapisane.
Konwersja PowerPoint do Markdown
- Utwórz instancję klasy Presentation reprezentującej obiekt prezentacji.
- Użyj metody Save aby zapisać obiekt jako plik markdown.
Ten kod Java pokazuje, jak skonwertować PowerPoint do markdown:
Presentation pres = new Presentation("pres.pptx");
try {
pres.save("pres.md", SaveFormat.Md);
} finally {
if (pres != null) pres.dispose();
}
Konwersja PowerPoint do odmiany Markdown
Aspose.Slides pozwala konwertować PowerPoint do markdown (z podstawową składnią), CommonMark, GitHub flavored markdown, Trello, XWiki, GitLab oraz 17 innych odmian markdown.
Ten kod Java pokazuje, jak skonwertować PowerPoint do CommonMark:
Presentation pres = new Presentation("pres.pptx");
try {
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setFlavor(Flavor.CommonMark);
pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
23 obsługiwane odmiany markdown są wymienione w wyliczeniu Flavor klasy MarkdownSaveOptions.
Konwersja prezentacji zawierającej obrazy do Markdown
Klasa MarkdownSaveOptions udostępnia właściwości i wyliczenia, które pozwalają stosować określone opcje lub ustawienia dla powstałego pliku markdown. Enum MarkdownExportType może być ustawiony na wartości określające, jak obrazy są renderowane lub obsługiwane: Sequential, TextOnly, Visual.
Konwersja obrazów kolejno
Jeśli chcesz, aby obrazy pojawiały się pojedynczo jeden po drugim w wynikowym markdown, musisz wybrać opcję sequential. Ten kod Java pokazuje, jak skonwertować prezentację zawierającą obrazy do markdown:
Presentation pres = new Presentation("pres.pptx");
try {
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setShowHiddenSlides(true);
markdownSaveOptions.setShowSlideNumber(true);
markdownSaveOptions.setFlavor(Flavor.Github);
markdownSaveOptions.setExportType(MarkdownExportType.Sequential);
markdownSaveOptions.setNewLineType(NewLineType.Windows);
pres.save("doc.md", new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }, SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
Konwersja obrazów wizualnie
Jeśli chcesz, aby obrazy pojawiały się razem w wynikowym markdown, musisz wybrać opcję visual. W tym przypadku obrazy zostaną zapisane w bieżącym katalogu aplikacji (a względna ścieżka zostanie w nich utworzona w dokumencie markdown) lub możesz podać własną ścieżkę i nazwę folderu.
Ten kod Java demonstruje tę operację:
Presentation pres = new Presentation("pres.pptx");
try {
final String outPath = "c:/documents";
MarkdownSaveOptions markdownSaveOptions = new MarkdownSaveOptions();
markdownSaveOptions.setExportType(MarkdownExportType.Visual);
markdownSaveOptions.setImagesSaveFolderName("md-images");
markdownSaveOptions.setBasePath(outPath);
pres.save("pres.md", SaveFormat.Md, markdownSaveOptions);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Czy hiperłącza przeżywają eksport do Markdown?
Tak. Tekstowe hiperłącza są zachowane jako standardowe linki Markdown. Przejścia slajdów i animacje 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 pomię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 ze względnymi ścieżkami. Możesz skonfigurować bazową ścieżkę wyjściową i nazwę folderu zasobów, aby zachować przewidywalną strukturę repozytorium.