使用 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。该代码可以在 Presentation 对象中加载多种格式,如 PPT、PPTX 和 ODP,并将其保存为 HTML 格式。

关于 PowerPoint 到 HTML 转换

使用 Aspose.Slides for Python via .NET,应用程序和开发人员可以将 PowerPoint 演示文稿转换为 HTML:PPTX 转换为 HTMLPPT 转换为 HTML

Aspose.Slides 提供许多选项(主要来自 HtmlOptions 类),这些选项定义了 PowerPoint 到 HTML 的转换过程:

  • 将整个 PowerPoint 演示文稿转换为 HTML。
  • 将 PowerPoint 演示文稿中的特定幻灯片转换为 HTML。
  • 将演示文稿媒体(图像、视频等)转换为 HTML。
  • 将 PowerPoint 演示文稿转换为响应式 HTML。
  • 将 PowerPoint 演示文稿转换为带有或不带有发言者备注的 HTML。
  • 将 PowerPoint 演示文稿转换为带有或不带有评论的 HTML。
  • 将 PowerPoint 演示文稿转换为带有原始或嵌入字体的 HTML。
  • 使用新 CSS 样式将 PowerPoint 演示文稿转换为 HTML。

将 PowerPoint 转换为 HTML

使用 Aspose.Slides,您可以通过以下方式将整个 PowerPoint 演示文稿转换为 HTML:

  1. 创建一个 Presentation 类的实例
  2. 使用 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 提供了 ResponsiveHtmlController 类,允许您生成响应式 HTML 文件。以下代码演示了如何在 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 提供了 EmbedAllFontsHtmlController 类,允许您在将演示文稿转换为 HTML 时嵌入所有字体。

为了防止某些字体被嵌入,您可以将字体名称的数组传递给 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。为此,使用 Save 方法,该方法由 Presentation 类提供,用于将整个 PPT(X) 演示文稿转换为 HTML 文档。 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 文件

使用 Aspose.Slides for python,您可以通过以下方式导出媒体文件:

  1. 创建一个 Presentation 类的实例。
  2. 获取幻灯片的引用。
  3. 向幻灯片添加视频。
  4. 将演示文稿写入 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)