แปลงงานนำเสนอ PowerPoint เป็น Markdown ใน PHP

บทนำ

Aspose.Slides ช่วยให้คุณแปลงงานนำเสนอ PowerPoint เป็น Markdown ซึ่งเป็นประโยชน์สำหรับกระบวนการทำเอกสาร, การสร้างเว็บไซต์แบบสแตติก, การย้ายเนื้อหา, และการเผยแพร่ข้อความที่ควบคุมเวอร์ชัน API รองรับการส่งออกโดยตรงจากงานนำเสนอ PPT และ PPTX เป็นไฟล์ MD และให้ตัวเลือกเพิ่มเติมเพื่อควบคุมว่าข้อมูลสไลด์จะแสดงในเอกสาร Markdown อย่างไร

คุณสามารถส่งออกงานนำเสนอเป็น Markdown ธรรมดา, เลือกจากหลายรูปแบบ Markdown เช่น CommonMark และ GitHub Flavored Markdown, และกำหนดวิธีการจัดการรูปภาพระหว่างการส่งออก สำหรับงานนำเสนอที่มีเนื้อหาภาพ, Aspose.Slides ยังอนุญาตให้คุณบันทึกรูปภาพลงในโฟลเดอร์แยกต่างหากและอ้างอิงจากไฟล์ Markdown ที่สร้างขึ้น

แปลงงานนำเสนอเป็น Markdown

ส่วนนี้อธิบายว่า Aspose.Slides แปลงงานนำเสนอ PowerPoint และ OpenDocument (PPT, PPTX, ODP) ให้เป็น Markdown ที่สะอาด โดยคงลำดับชั้นสไลด์, ข้อความ, และการจัดรูปแบบหลักไว้ เพื่อให้คุณสามารถนำเนื้อหาไปใช้ในเอกสารหรือกระบวนการทำงานที่ควบคุมเวอร์ชันได้โดยไม่ต้องทำขั้นตอนเพิ่มเติม

  1. สร้างอินสแตนซ์ของคลาส Presentation เพื่อเป็นตัวแทนของงานนำเสนอ
  2. ใช้วิธีการ save เพื่อส่งออกเป็นไฟล์ Markdown

โค้ด PHP นี้แสดงวิธีแปลงงานนำเสนอ PowerPoint เป็น Markdown:

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

แปลงงานนำเสนอเป็นรูปแบบ Markdown

Aspose.Slides ให้คุณแปลงงานนำเสนอ PowerPoint เป็น Markdown ด้วยไวยากรณ์พื้นฐาน รวมถึง CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab, และรูปแบบ Markdown อื่น ๆ อีกสิบเจ็ดประเภท

โค้ด PHP ด้านล่างแสดงวิธีแปลงงานนำเสนอ PowerPoint ไปเป็น CommonMark:

$presentation = new Presentation("presentation.pptx");
try {
    $saveOptions = new MarkdownSaveOptions();
    $saveOptions->setFlavor(Flavor->CommonMark);

    $presentation->save("presentation.md", SaveFormat::Md, $saveOptions);
} finally {
    $presentation->dispose();
}

รูปแบบ Markdown ทั้งหมด 23 รูปแบบที่รองรับถูกแสดงใน Flavor enumeration

แปลงงานนำเสนอที่มีภาพเป็น Markdown

คลาส MarkdownSaveOptions เปิดเผยคุณสมบัติและ enumeration ที่ให้คุณกำหนดไฟล์ Markdown ที่สร้างขึ้น ตัวอย่างเช่น enumeration MarkdownExportType ระบุวิธีการจัดการรูปภาพ: Sequential, TextOnly, หรือ Visual

แปลงภาพแบบต่อเนื่อง

หากคุณต้องการให้รูปภาพปรากฏเป็นรายการแยกกัน หนึ่งต่อหนึ่งใน Markdown ที่ได้ คุณต้องเลือกตัวเลือก Sequential โค้ด PHP ด้านล่างแสดงวิธีแปลงงานนำเสนอที่มีรูปภาพเป็น 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();
}

แปลงภาพแบบแสดงภาพ

หากคุณต้องการให้รูปภาพปรากฏร่วมกันใน Markdown ที่ได้ คุณต้องเลือกตัวเลือก Visual ในกรณีนี้รูปภาพจะถูกบันทึกลงในไดเรกทอรีปัจจุบันของแอปพลิเคชัน (และจะสร้างเส้นทางสัมพันธ์สำหรับรูปภาพในเอกสาร Markdown) หรือคุณสามารถระบุไดเรกทอรีและชื่อโฟลเดอร์ที่ต้องการได้

โค้ด PHP ด้านล่างแสดงการทำงานนี้:

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

คำถามที่พบบ่อย

ลิงก์ไฮเปอร์จะยังคงอยู่หลังการส่งออกเป็น Markdown หรือไม่?

ใช่ ข้อความ hyperlinks จะถูกเก็บไว้เป็นลิงก์ Markdown มาตรฐาน สไลด์ transitions และ animations จะไม่ถูกแปลง

ฉันสามารถเร่งความเร็วการแปลงโดยรันหลายเธรดได้หรือไม่?

คุณสามารถทำงานแบบขนานระหว่างไฟล์ได้ แต่ don’t share อินสแตนซ์เดียวของ Presentation ระหว่างเธรด ใช้อินสแตนซ์หรือกระบวนการแยกกันต่อไฟล์เพื่อหลีกเลี่ยงการขัดแย้ง

รูปภาพจะเกิดอะไรขึ้นบ้าง — ถูกบันทึกที่ไหนและเส้นทางเป็นแบบสัมพันธ์หรือไม่?

Images จะถูกส่งออกไปยังโฟลเดอร์เฉพาะ และไฟล์ Markdown จะอ้างอิงรูปภาพด้วยเส้นทางสัมพันธ์โดยค่าเริ่มต้น คุณสามารถกำหนดเส้นทางฐานสำหรับผลลัพธ์และชื่อโฟลเดอร์ assets เพื่อรักษาโครงสร้างที่คาดเดาได้ในที่เก็บข้อมูล