使用 Markdown 功能
本主题讨论如何使用 Aspose.Words 实现 Markdown 功能。 Markdown 是一种格式化纯文本的简单方法,可以轻松地将其转换为 HTML。 Aspose.Words 支持以下 Markdown 功能:
- 标题
- 块引用
- 水平规则
- 大胆强调
- 斜体强调
Markdown特征实现大多遵循Aspose.Words API中的CommonMark
规范,所有特征都表示为相应的样式或直接格式化。意思就是
- 粗体和斜体表示为 Font.bold 和 Font.Italic。
- 标题是具有标题 1 - 标题 6 样式的段落。
- 引用是样式名称中带有"引用"的段落。
- HorizontalRule 是具有 HorizontalRule 形状的段落。
带强调的 Markdown 文档
本节向您演示如何生成 markdown 文档,重点如下:
Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.
You can write **bold** or *italic* text.
You can also write ***BoldItalic*** text.
以下代码片段可用于生成上面给出的 markdown 文档。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.") | |
builder.write("You can write ") | |
builder.font.bold = True | |
builder.write("bold") | |
builder.font.bold = False | |
builder.write(" or ") | |
builder.font.italic = True | |
builder.write("italic") | |
builder.font.italic = False | |
builder.writeln(" text. ") | |
builder.write("You can also write ") | |
builder.font.bold = True | |
builder.font.italic = True | |
builder.write("BoldItalic") | |
builder.font.bold = False | |
builder.font.italic = False | |
builder.write("text.") | |
builder.document.save(docs_base.artifacts_dir + "WorkingWithMarkdown.emphases.md") |
带标题的 Markdown 文档
本节向您演示如何生成带有以下标题的 markdown 文档:
The following produces headings:
# Heading1
## Heading2
### Heading3
#### Heading4
##### Heading5
###### Heading6
# **Bold Heading1**
以下代码片段可用于生成上面给出的 markdown 文档。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
# By default Heading styles in Word may have bold and italic formatting. | |
# If we do not want the text to be emphasized, set these properties explicitly to false. | |
builder.font.bold = False | |
builder.font.italic = False | |
builder.writeln("The following produces headings:") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 1") | |
builder.writeln("Heading1") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 2") | |
builder.writeln("Heading2") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 3") | |
builder.writeln("Heading3") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 4") | |
builder.writeln("Heading4") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 5") | |
builder.writeln("Heading5") | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 6") | |
builder.writeln("Heading6") | |
# Note that the emphases are also allowed inside Headings. | |
builder.font.bold = True | |
builder.paragraph_format.style = doc.styles.get_by_name("Heading 1") | |
builder.writeln("Bold Heading1") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.headings.md") |
带有大引号的 Markdown 文档
本节向您演示如何生成带有块引号的 markdown 文档,如下所示:
We support blockquotes in Markdown:
>*Lorem*
>*ipsum*
>The quotes can be of any level and can be nested:
>>>Quote level 3
>>>
>>>>Nested quote level 4
>
>*Back to first level*
>### Headings are allowed inside Quotes
>
以下代码片段可用于生成上面给出的 markdown 文档。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("We support blockquotes in Markdown:") | |
builder.paragraph_format.style = doc.styles.get_by_name("Quote") | |
builder.writeln("Lorem") | |
builder.writeln("ipsum") | |
builder.paragraph_format.style = doc.styles.get_by_name("Normal") | |
builder.writeln("The quotes can be of any level and can be nested:") | |
quoteLevel3 = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote2") | |
builder.paragraph_format.style = quoteLevel3 | |
builder.writeln("Quote level 3") | |
quoteLevel4 = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote3") | |
builder.paragraph_format.style = quoteLevel4 | |
builder.writeln("Nested quote level 4") | |
builder.paragraph_format.style = doc.styles.get_by_name("Quote") | |
builder.writeln() | |
builder.writeln("Back to first level") | |
quoteLevel1WithHeading = doc.styles.add(aw.StyleType.PARAGRAPH, "Quote Heading 3") | |
builder.paragraph_format.style = quoteLevel1WithHeading | |
builder.write("Headings are allowed inside Quotes") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.block_quotes.md") |
带有水平线的 Markdown 文档
本节向您演示如何使用水平规则生成 markdown 文档,如下所示:
We support Horizontal rules (Thematic breaks) in Markdown:
-----
以下代码片段可用于生成上面给出的 markdown 文档。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
builder = aw.DocumentBuilder() | |
builder.writeln("We support Horizontal rules (Thematic breaks) in Markdown:") | |
builder.insert_horizontal_rule() | |
builder.document.save(docs_base.artifacts_dir + "WorkingWithMarkdown.horizontal_rule_example.md") |
阅读 Markdown 文档
以下代码片段向您展示了如何阅读 markdown 文档。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document(docs_base.my_dir + "Quotes.md") | |
# Let's remove Heading formatting from a Quote in the very last paragraph. | |
paragraph = doc.first_section.body.last_paragraph | |
paragraph.paragraph_format.style = doc.styles.get_by_name("Quote") | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdown.read_markdown_document.md") |
指定 Markdown 保存选项
Aspose.Words API 提供 MarkdownSaveOptions 类来在将文档保存为 Markdown 格式时指定附加选项。
以下代码示例演示了如何指定各种 Markdown 保存选项。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.writeln("Some text!") | |
doc.save(docs_base.artifacts_dir + "BaseConversions.docx_to_markdown.md") |
导出到 Markdown 时如何对齐表格内的内容
Aspose.Words API 提供 TableContentAlignment 枚举,它定义对齐方向,以便在导出到 Markdown 文档时对齐表格中的内容。以下代码示例演示如何对齐表格内的内容。
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
builder.insert_cell() | |
builder.paragraph_format.alignment = aw.ParagraphAlignment.RIGHT | |
builder.write("Cell1") | |
builder.insert_cell() | |
builder.paragraph_format.alignment = aw.ParagraphAlignment.CENTER | |
builder.write("Cell2") | |
# Makes all paragraphs inside the table to be aligned. | |
saveOptions = aw.saving.MarkdownSaveOptions() | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.LEFT | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.left_table_content_alignment.md", saveOptions) | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.RIGHT | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.right_table_content_alignment.md", saveOptions) | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.CENTER | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.center_table_content_alignment.md", saveOptions) | |
# The alignment in this case will be taken from the first paragraph in corresponding table column. | |
saveOptions.table_content_alignment = aw.saving.TableContentAlignment.AUTO | |
doc.save(docs_base.artifacts_dir + "WorkingWithMarkdownSaveOptions.auto_table_content_alignment.md", saveOptions) |