使用 Python via Java 轉換簡報為 HTML5
概觀
本篇文章說明如何使用 Aspose.Slides 將 PowerPoint 簡報轉換為 HTML5。它涵蓋不帶額外 Web 擴充功能的基本 HTML5 匯出,以及控制形狀動畫和投影片過渡的選項。文章還展示標準的 PowerPoint 轉 HTML 匯出流程,說明如何在投影片檢視模式下產生 HTML5 輸出,並示範如何透過設定佈局將註解包含在匯出的文件中。
示例需要 Aspose.Slides for Python via Java 以及相容的 Java 執行環境。請將 pres.pptx(或在註解示例中使用 sample.pptx)放置於目前工作目錄。每個示例僅在 JVM 尚未啟動時才啟動它。
將 PowerPoint 匯出為 HTML5
使用 Presentation.save 搭配 SaveFormat.Html5 以在不包含額外 Web 擴充功能的情況下匯出簡報:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
presentation.save("pres.html", SaveFormat.Html5)
finally:
presentation.dispose()
注意
HTML5 匯出器會產生可在瀏覽器中檢視的 HTML 內容。使用 Html5Options 來設定匯出。呼叫 setAnimateShapes 和 setAnimateTransitions 並傳入 False 以停用形狀動畫與投影片過渡:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Html5Options, Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
html5_options = Html5Options()
html5_options.setAnimateShapes(False)
html5_options.setAnimateTransitions(False)
presentation.save("pres5.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
將 PowerPoint 匯出為 HTML
使用 SaveFormat.Html 進行標準 HTML 匯出。欲了解更多選項,請參閱 Convert PowerPoint to HTML:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
presentation.save("pres.html", SaveFormat.Html)
finally:
presentation.dispose()
在此情況下,簡報內容會透過 SVG 以如下形式呈現:
<body>
<div class="slide" name="slide" id="slideslideIface1">
<svg version="1.1">
<g> THE SLIDE CONTENT GOES HERE </g>
</svg>
</div>
</body>
警告
標準 HTML 匯出會以 SVG 呈現投影片內容,且不提供 HTML5 形狀動畫與投影片過渡的選項。將 PowerPoint 匯出為 HTML5 投影片檢視
Aspose.Slides 允許您將 PowerPoint 簡報轉換為 HTML5 文件,且投影片會以投影片檢視模式呈現。在此情況下,於瀏覽器開啟生成的 HTML5 檔案時,您會在網頁上看到投影片檢視模式的簡報。
以下 Python 程式碼示範 PowerPoint 轉 HTML5 投影片檢視的匯出流程:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Html5Options, Presentation, SaveFormat
presentation = Presentation("pres.pptx")
try:
html5_options = Html5Options()
html5_options.setAnimateShapes(True)
html5_options.setAnimateTransitions(True)
presentation.save("HTML5-slide-view.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
將簡報轉換為含註解的 HTML5 文件
PowerPoint 中的註解是一種工具,允許使用者在簡報投影片上留下備註或回饋。於協同專案中特別有用,因為多位使用者可在特定投影片元素上添加建議或評論,而不會更改主要內容。每則註解皆顯示作者名稱,方便追蹤是誰留下的備註。
假設我們有以下儲存在 “sample.pptx” 檔案中的 PowerPoint 簡報。

將 PowerPoint 簡報轉換為 HTML5 文件時,您可以輕鬆指定是否在輸出文件中包含簡報的註解。為此,請將註解的顯示參數傳遞給 Html5Options 類別的 setSlidesLayoutOptions 方法。
使用 NotesCommentsLayoutingOptions 與 setCommentsPosition 並搭配 CommentsPositions.Right。以下程式碼範例將簡報轉換為在投影片右側顯示註解的 HTML5 文件。
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import CommentsPositions, NotesCommentsLayoutingOptions, Html5Options, Presentation, SaveFormat
presentation = Presentation("sample.pptx")
try:
layout_options = NotesCommentsLayoutingOptions()
layout_options.setCommentsPosition(CommentsPositions.Right)
html5_options = Html5Options()
html5_options.setSlidesLayoutOptions(layout_options)
presentation.save("output.html", SaveFormat.Html5, html5_options)
finally:
presentation.dispose()
以下圖示顯示了 “output.html” 文件的樣子。

FAQ
我可以控制物件動畫與投影片過渡是否在 HTML5 中播放嗎?
是的,HTML5 提供獨立的選項以啟用或停用 shape animations 與 slide transitions。
可以匯出註解嗎?它們可以相對於投影片放置在何處?
可以,註解可於 HTML5 中加入,並透過 layout settings 針對註解與備忘錄設定位置(例如放在投影片右側)。
我可以為安全或 CSP 原因跳過呼叫 JavaScript 的連結嗎?
可以,存在一個 setting 可在儲存時跳過包含 JavaScript 呼叫的超連結。此設定會移除這些超連結;但本身並不保證所有產生的 HTML5 程式碼皆符合網站的內容安全政策 (Content Security Policy)。