使用 PHP 於講義模式轉換 PowerPoint 簡報

簡介

Aspose.Slides 提供將簡報轉換為各種格式的功能,亦可在 Handout 模式下建立列印用的講義。此模式讓您設定多張投影片如何排列於單一頁面,十分適合會議、研討會及其他活動。您可於 PdfOptions, RenderingOptions, HtmlOptions, 以及 TiffOptions 類別中透過設定 setSlidesLayoutOptions 方法來啟用此模式。

講義模式匯出

若要設定 Handout 模式,請使用 HandoutLayoutingOptions 物件,它決定單頁放置的投影片數量以及其他顯示參數。

以下是一個程式碼範例,示範如何在 Handout 模式下將簡報轉換為 PDF。

// 載入簡報。
$presentation = new Presentation("sample.pptx");

// 設定匯出選項。
$slidesLayoutOptions = new HandoutLayoutingOptions();
$slidesLayoutOptions->setHandout(HandoutType::Handouts4Horizontal);  // 每頁水平排列 4 張投影片
$slidesLayoutOptions->setPrintSlideNumbers(true);                    // 列印投影片編號
$slidesLayoutOptions->setPrintFrameSlide(true);                      // 在投影片周圍列印框線
$slidesLayoutOptions->setPrintComments(false);                       // 不列印註解

$pdfOptions = new PdfOptions();
$pdfOptions->setSlidesLayoutOptions($slidesLayoutOptions);

// 以所選版面將簡報匯出為 PDF。
$presentation->save("output.pdf", SaveFormat::Pdf, $pdfOptions);
$presentation->dispose();

常見問題

Handout 模式下每頁最大可顯示多少張投影片縮圖?

Aspose.Slides 支援的presets最高可於每頁顯示 9 張縮圖,且可水平或垂直排列:1、2、3、4(水平/垂直)、6(水平/垂直)以及 9(水平/垂直)。

我可以自行定義格線,例如每頁 5 或 8 張投影片嗎?

不能。縮圖的數量與排列方式完全由 HandoutType 類別控制,不支援自訂版面配置。

我可以在 Handout 輸出中包含隱藏的投影片嗎?

可以。請在目標格式的匯出設定(例如 PdfOptionsHtmlOptionsTiffOptions)中使用 setShowHiddenSlides 方法以包含隱藏的投影片。