PythonでPowerPointをHTMLに変換する
概要
この記事では、Pythonを使用してPowerPointプレゼンテーションをHTML形式に変換する方法を説明します。以下のトピックを扱います。
- PythonでPowerPointをHTMLに変換する
- PythonでPPTをHTMLに変換する
- PythonでPPTXをHTMLに変換する
- PythonでODPをHTMLに変換する
- PythonでPowerPointスライドをHTMLに変換する
Python PowerPointをHTMLに
PowerPointをHTMLに変換するPythonサンプルコードについては、以下のセクションを参照してください。すなわち、PowerPointをHTMLに変換する。このコードは、PPT、PPTX、およびODPなどの形式をPresentationオブジェクトに読み込み、HTML形式として保存できます。
PowerPointからHTMLへの変換について
Aspose.Slides for Python via .NETを使用することで、アプリケーションや開発者はPowerPointプレゼンテーションをHTMLに変換できます:PPTXをHTMLにまたはPPTをHTMLに。
Aspose.Slidesは、PowerPointからHTMLへの変換プロセスを定義する多くのオプション(主にHtmlOptionsクラスから)を提供します:
- PowerPointプレゼンテーション全体をHTMLに変換する。
- PowerPointプレゼンテーションの特定のスライドをHTMLに変換する。
- プレゼンテーションメディア(画像、動画など)をHTMLに変換する。
- PowerPointプレゼンテーションをレスポンシブHTMLに変換する。
- スピーカーノートを含めたり除外したりしてPowerPointプレゼンテーションをHTMLに変換する。
- コメントを含めたり除外したりしてPowerPointプレゼンテーションをHTMLに変換する。
- 元のフォントや埋め込まれたフォントを使用してPowerPointプレゼンテーションをHTMLに変換する。
- 新しいCSSスタイルを使用してPowerPointプレゼンテーションをHTMLに変換する。
独自のAPIを使用して、Asposeは無料のプレゼンテーションをHTMLに変換ツールを開発しました:PPTをHTMLに、PPTXをHTMLに、ODPをHTMLになど。
他の無料のAspose変換ツールもチェックしてみてください。
注意
ここで説明した変換プロセスに加えて、Aspose.SlidesはHTML形式を含むこれらの変換操作もサポートしています:
PowerPointをHTMLに変換する
Aspose.Slidesを使用して、次のようにPowerPointプレゼンテーション全体をHTMLに変換できます:
- Presentationクラスのインスタンスを作成します。
- Saveメソッドを使用して、オブジェクトをHTMLファイルとして保存します。
このコードでは、PythonでPowerPointをHTMLに変換する方法を示しています:
import aspose.slides as slides
# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化
pres = slides.Presentation("Convert_HTML.pptx")
options = slides.export.HtmlOptions()
options.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL
options.html_formatter = slides.export.HtmlFormatter.create_document_formatter("", False)
# プレゼンテーションをHTMLとして保存
pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HTML, options)
PowerPointをレスポンシブHTMLに変換する
Aspose.Slidesは、レスポンシブHTMLファイルを生成するためのResponsiveHtmlControllerクラスを提供しています。このコードでは、PythonでPowerPointプレゼンテーションをレスポンシブHTMLに変換する方法を示しています:
# プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化
import aspose.slides as slides
pres = slides.Presentation("Convert_HTML.pptx")
controller = slides.export.ResponsiveHtmlController()
htmlOptions = slides.export.HtmlOptions()
htmlOptions.html_formatter = slides.export.HtmlFormatter.create_custom_formatter(controller)
# プレゼンテーションをHTMLとして保存
pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveFormat.HTML, htmlOptions)
ノート付きのPowerPointをHTMLに変換する
このコードでは、Pythonでノート付きのPowerPointをHTMLに変換する方法を示しています:
import aspose.slides as slides
pres = slides.Presentation("Presentation.pptx")
opt = slides.export.HtmlOptions()
opt.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL
pres.save("Output.html", slides.export.SaveFormat.HTML, opt)
元のフォントを使用したPowerPointをHTMLに変換する
Aspose.Slidesは、プレゼンテーションをHTMLに変換する際にすべてのフォントを埋め込むことを可能にするEmbedAllFontsHtmlControllerクラスを提供しています。
特定のフォントを埋め込まれないようにするには、EmbedAllFontsHtmlControllerクラスのパラメータ付きコンストラクターにフォント名の配列を渡すことができます。プレゼンテーションで使用される一般的なフォント(例えば、CalibriやArial)は、ほとんどのシステムに既に含まれているため、埋め込む必要はありません。これらのフォントを埋め込むと、結果として得られるHTMLドキュメントが不必要に大きくなります。
EmbedAllFontsHtmlControllerクラスは継承をサポートしており、WriteFont
メソッドを提供しており、これはオーバーライドすることを目的としています。
import aspose.slides as slides
pres = slides.Presentation("input.pptx")
# デフォルトのプレゼンテーションフォントを除外
fontNameExcludeList = ["Calibri", "Arial"]
htmlOptionsEmbed = slides.export.HtmlOptions()
htmlOptionsEmbed.html_formatter = slides.export.HtmlFormatter.create_custom_formatter(slides.export.EmbedAllFontsHtmlController(fontNameExcludeList))
pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveFormat.HTML, htmlOptionsEmbed)
スライドをHTMLに変換する
別々のプレゼンテーションスライドをHTMLに変換します。そのためには、全体のPPT(X)プレゼンテーションをHTML文書に変換するのに使用されるPresentationクラスによって公開される同じSaveメソッドを使用してください。HtmlOptionsクラスを使用して追加の変換オプションを設定することもできます:
# [TODO[not_supported_yet]: python implementation of .net interface]
HTMLにエクスポートする際にCSSと画像を保存する
新しいCSSスタイルファイルを使用すると、PowerPointからHTMLへの変換プロセスの結果として得られるHTMLファイルのスタイルを簡単に変更できます。
この例のPythonコードでは、オーバーライド可能なメソッドを使用してCSSファイルへのリンクを含むカスタムHTMLドキュメントを作成する方法を示しています:
# [TODO[not_supported_yet]: python implementation of .net interfaces]
プレゼンテーションをHTMLに変換する際にすべてのフォントをリンクする
フォントを埋め込みたくない場合(生成するHTMLのサイズを増やさないため)、独自のLinkAllFontsHtmlController
バージョンを実装してすべてのフォントをリンクすることができます。
このPythonコードは、「Calibri」と「Arial」を除外(すでにシステムに存在するため)しながらPowerPointをHTMLに変換する方法を示しています:
# [TODO[not_supported_yet]: python implementation of .net interfaces]
SVGレスポンシブプロパティのサポート
以下のコードサンプルは、PPT(X)プレゼンテーションをHTMLにレスポンシブレイアウトでエクスポートする方法を示しています:
presentation = slides.Presentation("SomePresentation.pptx")
saveOptions = slides.export.HtmlOptions()
saveOptions.svg_responsive_layout = True
presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, saveOptions)
メディアファイルをHTMLファイルにエクスポートする
Python用のAspose.Slidesを使用すると、次のようにメディアファイルをエクスポートできます:
- Presentationクラスのインスタンスを作成します。
- スライドの参照を取得します。
- スライドに動画を追加します。
- プレゼンテーションをHTMLファイルとして書き込みます。
このPythonコードでは、プレゼンテーションに動画を追加し、その後HTMLとして保存する方法を示しています:
import aspose.slides as slides
# プレゼンテーションの読み込み
presentation = slides.Presentation("Media File.pptx")
path = "C:\\"
fileName = "ExportMediaFiles_out.html"
baseUri = "http://www.example.com/"
controller = slides.export.VideoPlayerHtmlController(path, fileName, baseUri)
htmlOptions = slides.export.HtmlOptions(controller)
svgOptions = slides.export.SVGOptions(controller)
htmlOptions.html_formatter = slides.export.HtmlFormatter.create_custom_formatter(controller)
htmlOptions.slide_image_format = slides.export.SlideImageFormat.svg(svgOptions)
presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.HTML, htmlOptions)