Konversi Presentasi PowerPoint ke Markdown dalam PHP

Pendahuluan

Aspose.Slides memungkinkan Anda mengonversi presentasi PowerPoint ke Markdown, yang dapat berguna untuk alur kerja dokumentasi, pembuatan situs statis, migrasi konten, dan penerbitan teks yang dikontrol versi. API mendukung ekspor langsung dari presentasi PPT dan PPTX ke file MD serta menyediakan opsi tambahan untuk mengendalikan bagaimana konten slide direpresentasikan dalam dokumen Markdown yang dihasilkan.

Anda dapat mengekspor presentasi sebagai Markdown biasa, memilih dari berbagai varian Markdown seperti CommonMark dan GitHub Flavored Markdown, serta mengonfigurasi cara penanganan gambar selama ekspor. Untuk presentasi yang berisi konten visual, Aspose.Slides juga memungkinkan Anda menyimpan gambar ke folder terpisah dan merujuknya dari file Markdown yang dihasilkan.

Mengonversi Presentasi ke Markdown

Bagian ini menjelaskan bagaimana Aspose.Slides mengonversi presentasi PowerPoint dan OpenDocument (PPT, PPTX, ODP) menjadi Markdown bersih, mempertahankan hierarki slide, teks, dan format inti sehingga Anda dapat menggunakan kembali konten dalam dokumentasi atau alur kerja yang dikontrol versi tanpa upaya manual tambahan.

  1. Buat instance kelas Presentation untuk mewakili presentasi.
  2. Gunakan metode save untuk mengekspornya sebagai file Markdown.

Kode PHP berikut menunjukkan cara mengonversi presentasi PowerPoint ke Markdown:

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

Mengonversi Presentasi ke Varian Markdown

Aspose.Slides memungkinkan Anda mengonversi presentasi PowerPoint ke Markdown dengan sintaks dasar, serta ke CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab, dan tujuh belas varian Markdown lainnya.

Kode PHP berikut mendemonstrasikan cara mengonversi presentasi PowerPoint ke 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 varian Markdown yang didukung tercantum dalam enumerasi Flavor.

Mengonversi Presentasi yang Mengandung Gambar ke Markdown

Kelas MarkdownSaveOptions menyediakan properti dan enumerasi yang memungkinkan Anda mengonfigurasi file Markdown yang dihasilkan. Misalnya, enumerasi MarkdownExportType menentukan cara penanganan gambar: Sequential, TextOnly, atau Visual.

Mengonversi Gambar Secara Berurutan

Jika Anda ingin gambar muncul secara individual, satu per satu, dalam Markdown yang dihasilkan, pilih opsi Sequential. Kode PHP berikut menunjukkan cara mengonversi presentasi yang berisi gambar ke 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();
}

Mengonversi Gambar Secara Visual

Jika Anda ingin gambar muncul bersama dalam Markdown yang dihasilkan, pilih opsi Visual. Dalam kasus ini, gambar disimpan ke direktori kerja aplikasi (dan jalur relatif dihasilkan untuknya dalam dokumen Markdown), atau Anda dapat menentukan direktori dan nama folder pilihan Anda.

Kode PHP berikut mendemonstrasikan operasi tersebut:

$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

Apakah tautan tetap ada setelah diekspor ke Markdown?

Ya. Teks hyperlinks dipertahankan sebagai tautan Markdown standar. Slide transitions dan animations tidak dikonversi.

Apakah saya dapat mempercepat konversi dengan menjalankannya di beberapa utas?

Anda dapat memparallelkan per file, tetapi don’t share instance Presentation yang sama di antara utas. Gunakan instance/proses terpisah per file untuk menghindari kontensi.

Bagaimana dengan gambar—di mana disimpan, dan apakah jalurnya relatif?

Gambar diekspor ke folder khusus, dan file Markdown merujuknya dengan jalur relatif secara default. Anda dapat mengonfigurasi jalur output dasar dan nama folder aset untuk menjaga struktur repositori yang dapat diprediksi.