Chuyển đổi Bài thuyết trình PowerPoint sang Markdown trong PHP

Giới thiệu

Aspose.Slides cho phép bạn chuyển đổi các bài thuyết trình PowerPoint sang Markdown, điều này hữu ích cho quy trình tài liệu, tạo trang tĩnh, di chuyển nội dung và xuất bản văn bản có kiểm soát phiên bản. API hỗ trợ xuất trực tiếp từ các bài thuyết trình PPT và PPTX sang tệp MD và cung cấp các tùy chọn bổ sung để kiểm soát cách nội dung slide được biểu diễn trong tài liệu Markdown kết quả.

Bạn có thể xuất các bài thuyết trình dưới dạng Markdown thuần, chọn từ nhiều kiểu Markdown như CommonMark và GitHub Flavored Markdown, và cấu hình cách xử lý hình ảnh trong quá trình xuất. Đối với các bài thuyết trình chứa nội dung hình ảnh, Aspose.Slides cũng cho phép lưu ảnh vào thư mục riêng và tham chiếu chúng từ tệp Markdown được tạo.

Chuyển đổi bài thuyết trình sang Markdown

Phần này giải thích cách Aspose.Slides chuyển đổi các bài thuyết trình PowerPoint và OpenDocument (PPT, PPTX, ODP) thành Markdown sạch, giữ nguyên cấu trúc slide, văn bản và định dạng cốt lõi để bạn có thể tái sử dụng nội dung trong tài liệu hoặc quy trình kiểm soát phiên bản mà không cần công sức thủ công thêm.

  1. Tạo một thể hiện của lớp Presentation để đại diện cho bài thuyết trình.
  2. Sử dụng phương thức save để xuất nó dưới dạng tệp Markdown.
$presentation = new Presentation("presentation.pptx");
try {
    $presentation->save("presentation.md", SaveFormat::Md);
} finally {
    $presentation->dispose();
}

Chuyển đổi bài thuyết trình sang một kiểu Markdown

Aspose.Slides cho phép bạn chuyển đổi các bài thuyết trình PowerPoint sang Markdown với cú pháp cơ bản, cũng như sang CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab và mười bảy kiểu Markdown khác.

Mã PHP sau đây minh họa cách chuyển đổi một bài thuyết trình PowerPoint sang 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 kiểu Markdown được hỗ trợ được liệt kê trong Flavor enumeration.

Chuyển đổi bài thuyết trình có chứa hình ảnh sang Markdown

Lớp MarkdownSaveOptions cung cấp các thuộc tính và enum cho phép bạn cấu hình tệp Markdown kết quả. Ví dụ, enum MarkdownExportType chỉ định cách xử lý hình ảnh: Sequential, TextOnly hoặc Visual.

Chuyển đổi hình ảnh theo thứ tự

Nếu bạn muốn các hình ảnh xuất hiện riêng lẻ, lần lượt, trong Markdown kết quả, phải chọn tùy chọn Sequential. Mã PHP sau đây cho thấy cách chuyển đổi một bài thuyết trình có chứa hình ảnh sang 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();
}

Chuyển đổi hình ảnh theo dạng trực quan

Nếu bạn muốn các hình ảnh xuất hiện cùng nhau trong Markdown kết quả, phải chọn tùy chọn Visual. Trong trường hợp này, các hình ảnh được lưu vào thư mục hiện tại của ứng dụng (và một đường dẫn tương đối được tạo cho chúng trong tài liệu Markdown), hoặc bạn có thể chỉ định thư mục và tên thư mục ưa thích của mình.

Mã PHP sau đây minh họa thao tác này:

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

Câu hỏi thường gặp

Liệu các siêu liên kết có được giữ lại khi xuất sang Markdown không?

Có. Các siêu liên kết trong văn bản được giữ lại dưới dạng liên kết Markdown tiêu chuẩn. Các chuyển tiếphoạt ảnh không được chuyển đổi.

Tôi có thể tăng tốc chuyển đổi bằng cách chạy đa luồng không?

Bạn có thể thực hiện song song trên các tệp, nhưng đừng chia sẻ cùng một thể hiện Presentation giữa các luồng. Sử dụng các thể hiện/tiến trình riêng cho mỗi tệp để tránh tranh chấp.

Điều gì xảy ra với hình ảnh—chúng được lưu ở đâu và đường dẫn có phải là tương đối không?

Hình ảnh được xuất ra một thư mục riêng, và tệp Markdown tham chiếu chúng bằng các đường dẫn tương đối theo mặc định. Bạn có thể cấu hình đường dẫn xuất cơ sở và tên thư mục tài sản để giữ cấu trúc kho dự đoán được.