การทำงานกับคุณสมบัติ Markdown

หัวข้อนี้อธิบายวิธีการใช้คุณลักษณะ Markdown โดยใช้ Aspose.Words Markdown เป็นวิธีง่ายๆ ในการจัดรูปแบบข้อความธรรมดาที่สามารถแปลงเป็น HTML ได้อย่างง่ายดาย Aspose.Words รองรับคุณสมบัติ Markdown ต่อไปนี้:

  • หัวเรื่อง
  • บล็อกโควต
  • กฎแนวนอน
  • เน้นตัวหนา
  • เน้นตัวเอียง

การใช้งานฟีเจอร์ Markdown ส่วนใหญ่เป็นไปตามข้อกำหนด CommonMark ใน Aspose.Words API และฟีเจอร์ทั้งหมดจะแสดงเป็นรูปแบบที่สอดคล้องกันหรือการจัดรูปแบบโดยตรง ซึ่งหมายความว่า

  • ตัวหนาและตัวเอียงจะแสดงเป็น Font.bold และ Font.Italic
  • หัวเรื่องเป็นย่อหน้าที่มีหัวเรื่อง 1 - หัวเรื่อง 6 รูปแบบ
  • เครื่องหมายคำพูดคือย่อหน้าที่มี “เครื่องหมายคำพูด” อยู่ในชื่อรูปแบบ -HorizontalRule คือย่อหน้าที่มีรูปร่างของ HorizionalRule

เอกสาร 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)