用 Python 将 Markdown 转换为 DOCX
Aspose.HTML for Python via .NET 提供了 Aspose.Html.Converters 命名空间,可轻松访问各种转换方法。
本文介绍了如何使用 Aspose.HTML Python 库将 Markdown 转换为 DOCX。您将了解所支持的 Markdown 到 DOCX 的转换场景,并考虑用 Python 代码示例来说明这些场景。此外,您还可以试用在线 Markdown 转换器来测试 Aspose.HTML 的功能并即时转换 Markdown。
注: 所有 convert_markdown() 方法都允许将 Markdown 转换为 HTML。从 Markdown 到其他格式的转换需要经过 Markdown 到 HTML 的转换阶段。
在线 Markdown 转换器
您可以使用 Aspose.HTML 将 Markdown 实时转换为其他格式。加载 Markdown 文件,选择输出格式并运行示例。保存选项是默认配置的。您将立即以单独文件的形式收到转换结果。
如果您想通过编程将 Markdown 转换为 DOCX,请参阅以下 Python 代码示例。
用 Python 将 Markdown 转换为 DOCX
将 Markdown 转换为其他格式需要经过 Markdown 转换为 HTML 的中间阶段。要将 Markdown 转换为 DOCX,应遵循以下几个步骤:
- 准备一个源 Markdown 文档。在示例中,我们根据代码创建一个 Markdown 文件。
- 将 Markdown 转换为 HTML。使用 convert_markdown() 方法将 Markdown 保存为 HTML 文档。
- 使用 convert_html() 方法之一,并向其传递 HTMLDocument、DocSaveOptions 和输出文件路径。
如果您要在代码中直接从用户字符串创建 Markdown 文档并将其转换为 DOCX 文件,下面的示例可以帮到您:
1# Convert Markdown to DOCX using Python
2
3import os
4import aspose.html.converters as conv
5import aspose.html.saving as sav
6
7# Prepare a path to a source Markdown file
8output_dir = "output/"
9source_path = os.path.join(output_dir, "document.md")
10
11# Prepare a simple Markdown example
12code = "### Hello, World!\nConvert Markdown to DOCX!"
13
14# Create a Markdown file
15with open(source_path, "w") as file:
16 file.write(code)
17
18# Prepare a path to save the converted file
19save_path = os.path.join(output_dir, "document-output.docx")
20
21# Convert Markdown to HTML document
22document = conv.Converter.convert_markdown(source_path)
23
24# Convert HTML document to DOCX file format
25conv.Converter.convert_html(document, sav.DocSaveOptions(), save_path)使用 DocSaveOptions 将 Markdown 转换为 DOCX
将 Markdown 转换为 DOCX 的过程可以灵活定制。DocSaveOptions 类是一个功能强大的配置工具,可让您对 HTML 文档转换为 DOCX 格式进行微调。它包括以下属性:
- page_setup – 通过该属性,您可以定义页面的布局,包括页面大小、页边距和其他布局方面,确保输出文档与所需格式一致。
- horizontal_resolution – 该属性设置或获取内部图像的水平分辨率,单位为每英寸像素。默认为 300 dpi。分辨率越高,渲染质量越好,但文件大小也越大。使用该属性可以控制质量和文件大小之间的权衡。
- vertical_resolution – 该属性设置或获取内部图像的垂直分辨率,单位为每英寸像素。默认为 300 dpi。与 “horizontal_resolution “类似,该属性控制文档的垂直分辨率,从而影响文档的清晰度和整体大小。
- background_color – 使用此属性可以设置渲染输出的背景颜色。如果未设置,默认背景色为透明色。
- css – 该属性获取一个 CssOptions 对象,用于配置 CSS 属性处理。例如,
css.media_type属性为不同的媒体类型指定了不同的样式,确保根据文档的呈现方式应用正确的 CSS 规则。 - font_embedding_rule – 该属性设置嵌入字体的规则,并控制输出文档中是否以及如何嵌入字体。默认值为
NONE。 - document_format – 该属性设置输出文档的文件格式。默认为 DOCX。
以下代码片段展示了如何使用自定义保存选项将 Markdown 转换为 DOCX:
1# Convert Markdown to DOCX using Python with custom settings
2
3import os
4import aspose.html.converters as conv
5import aspose.html.saving as sav
6import aspose.html.drawing as dr
7
8# Setup directories and define paths
9output_dir = "output/"
10input_dir = "data/"
11if not os.path.exists(output_dir):
12 os.makedirs(output_dir)
13document_path = os.path.join(input_dir, "document.md")
14save_path = os.path.join(output_dir, "md-to-docx-with-save-options.docx")
15
16# Convert Markdown to HTML
17document = conv.Converter.convert_markdown(document_path)
18
19# Create an instance of DocSaveOptions
20options = sav.DocSaveOptions()
21options.page_setup.any_page = dr.Page(dr.Size(900, 700), dr.Margin(40, 10, 10, 10))
22options.document_format.DOCX
23options.font_embedding_rule.FULL
24
25# Convert HTML to DOCX
26conv.Converter.convert_html(document, options, save_path)在示例中,我们使用了 document_format、page_setup 和 font_embedding_rule 属性。要了解有关 DocSaveOptions 的更多信息,请阅读
Fine-Tuning Converters 一文。
Aspose.HTML 提供一款免费的在线 MD 到 DOCX 转换器,可将 Markdown 文件高质量、方便、快速地转换为 DOCX 文件。只需上传、转换文件,几秒钟就能得到结果!
