Konvertera PowerPoint-presentationer till Markdown i Python

Översikt

Aspose.Slides for Python via .NET kan konvertera PPT- och PPTX-presentationer till Markdown för dokumentation, statiska webbplatser, innehållsmigrering och versionskontrollflöden. Du kan välja en Markdown‑variant, kontrollera hur bildinnehåll renderas och bestämma var exporterade bilder lagras samt hur den genererade Markdown‑referensen hanterar dem.

Som standard använder Markdown‑export text‑endast‑utdata. För att exportera visuellt innehåll, sätt egenskapen MarkdownSaveOptions.export_type till värdet SEQUENTIAL eller VISUAL från uppräkningen MarkdownExportType. SEQUENTIAL renderar bildobjekt separat och i ordning, medan VISUAL behåller grupperade objekt tillsammans för att bevara deras visuella relation. Värdet TEXT_ONLY genererar inga bildresurser.

Konvertera en presentation till Markdown

Läs in källfilen med klassen Presentation, och anropa sedan metoden Presentation.save med värdet MD från uppräkningen SaveFormat.

import aspose.slides as slides

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save("presentation.md", slides.export.SaveFormat.MD)

Välj en Markdown‑variant

Egenskapen MarkdownSaveOptions.flavor styr vilken Markdown‑specifikation som används för utskriften. Uppräkningen Flavor innehåller CommonMark, GitHub Flavored Markdown och andra stödda varianter.

Följande exempel exporterar en presentation som CommonMark:

import aspose.slides as slides

options = slides.export.MarkdownSaveOptions()
options.flavor = slides.export.Flavor.COMMON_MARK

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save("presentation.md", slides.export.SaveFormat.MD, options)

Exportera bilder med standardbeteendet för lokal sparning

Klassen MarkdownSaveOptions tillhandahåller två egenskaper för lokalt sparade bilder:

Följande exempel renderar visuellt innehåll, skriver bilder till output/assets och skapar relativa bildreferenser i Markdown‑dokumentet:

import os
import aspose.slides as slides

output_directory = "output"
os.makedirs(output_directory, exist_ok=True)

options = slides.export.MarkdownSaveOptions()
options.export_type = slides.export.MarkdownExportType.VISUAL
options.base_path = output_directory
options.images_save_folder_name = "assets"

markdown_path = os.path.join(output_directory, "presentation.md")

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save(markdown_path, slides.export.SaveFormat.MD, options)

Aspose.Slides skapar bildundermappen när exporten genererar bildresurser, men applikationen måste skapa base_path innan Markdown‑filen sparas.

Förbered Markdown och bilder för publicering

Aspose.Slides for Python via .NET exponerar inte .NET‑callback‑funktionerna för bildsparning för att ersätta varje genererad bildlänk under export. Exportera istället Markdown‑dokumentet och dess bildmapp till en publiceringskatalog och publicera sedan den katalogen utan att förändra dess relativa struktur.

Följande exempel förbereder cdn-origin/presentations/quarterly-report som en monterad eller synkroniserad publiceringskatalog. Exemplet utför ingen nätverksuppladdning: de genererade länkarna blir giltiga efter att katalogen har publicerats på den avsedda platsen eller CDN‑platsen.

import os
import aspose.slides as slides

publication_directory = os.path.join(
    "cdn-origin",
    "presentations",
    "quarterly-report")
os.makedirs(publication_directory, exist_ok=True)

options = slides.export.MarkdownSaveOptions()
options.export_type = slides.export.MarkdownExportType.VISUAL
options.base_path = publication_directory
options.images_save_folder_name = "assets"

markdown_path = os.path.join(publication_directory, "presentation.md")

with slides.Presentation("presentation.pptx") as presentation:
    presentation.save(markdown_path, slides.export.SaveFormat.MD, options)

Publicera presentation.md tillsammans med assets‑katalogen. Markdown‑dokumentet använder relativa bildreferenser, så båda objekten måste behålla samma förhållande på destinationen. Om ett publiceringssystem kräver absoluta externa URL‑er, skriv om de genererade länkarna som ett separat efterbearbetningssteg efter att alla bildfiler har publicerats.

FAQ

Kan Python‑callback‑funktioner anpassa enskilda bildfiler och länkar under Markdown‑export?

Nej. Aspose.Slides for Python via .NET exponerar inte .NET‑callback‑funktionerna ImageSaving och SvgImageSaving. Konfigurera den lokala utdata med MarkdownSaveOptions.base_path och MarkdownSaveOptions.images_save_folder_name, publicera sedan eller efterbearbeta de genererade resurserna.

Var sparas exporterade bilder?

Bildplatsen styrs av MarkdownSaveOptions.base_path och MarkdownSaveOptions.images_save_folder_name. Markdown‑dokumentet refererar till dessa bilder med relativa sökvägar.

Vilken sökvägsseparator bör bildlänkar använda?

Använd snedstreck (/) i Markdown‑länkar och URL‑er. Använd os.path.join endast för filsystemssökvägar och normalisera eventuella länkar som skapas under efterbearbetning separat.

Behålls hyperlänkar under Markdown‑export?

Ja. Text-hyperlänkar bevaras som standard‑Markdown‑länkar. Bild-övergångar och animationer konverteras inte.

Kan presentationer konverteras till Markdown parallellt?

Du kan bearbeta olika presentationsfiler parallellt, men dela inte samma Presentation‑instans mellan trådar. Följ multithreading‑riktlinjerna och använd en separat instans för varje fil.