Bekerja dengan Fitur Markdown

Topik ini membahas cara mengimplementasikan fitur Markdown menggunakan Aspose.Words. Markdown adalah cara sederhana untuk memformat teks biasa yang dapat dengan mudah dikonversi ke HTML. Aspose.Words mendukung fitur Markdown berikut:

  • Judul
  • Blockquote
  • Aturan horisontal
  • Penekanan yang berani
  • Penekanan miring

Implementasi fitur Markdown sebagian besar mengikuti spesifikasi CommonMark dalam Aspose.Words API dan semua fitur direpresentasikan sebagai gaya yang sesuai atau format langsung. Artinya

  • Tebal dan Miring direpresentasikan sebagai Font.bold dan Font.Italic
  • Heading adalah paragraf dengan gaya Heading 1 - Heading 6
  • Kutipan adalah paragraf dengan “Kutipan” di nama gayanya
  • HorizontalRule adalah paragraf yang berbentuk HorizontalRule.

Dokumen Markdown dengan Penekanan

Bagian ini menunjukkan kepada Anda cara membuat dokumen markdown dengan penekanan seperti yang diberikan di bawah ini:

Markdown treats asterisks (*) and underscores (_) as indicators of emphasis.
You can write **bold** or *italic* text. 
You can also write ***BoldItalic*** text.

Cuplikan kode berikut dapat digunakan untuk menghasilkan dokumen markdown yang diberikan di atas.

# 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")

Dokumen Markdown dengan Judul

Bagian ini menunjukkan kepada Anda cara membuat dokumen markdown dengan judul seperti di bawah ini:

The following produces headings:
# Heading1
## Heading2
### Heading3
#### Heading4
##### Heading5
###### Heading6
# **Bold Heading1**

Cuplikan kode berikut dapat digunakan untuk menghasilkan dokumen markdown yang diberikan di atas.

# 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")

Dokumen Markdown dengan Kutipan Blok

Bagian ini menunjukkan kepada Anda cara membuat dokumen markdown dengan tanda kutip blok seperti yang diberikan di bawah ini:

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
>

Cuplikan kode berikut dapat digunakan untuk menghasilkan dokumen markdown yang diberikan di atas.

# 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")

Dokumen Markdown dengan Aturan Horizontal

Bagian ini menunjukkan kepada Anda cara membuat dokumen markdown dengan Aturan Horizontal seperti yang diberikan di bawah ini:

We support Horizontal rules (Thematic breaks) in Markdown:
-----

Cuplikan kode berikut dapat digunakan untuk menghasilkan dokumen markdown yang diberikan di atas.

# 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")

Membaca Dokumen Markdown

Cuplikan kode berikut menunjukkan cara membaca dokumen 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")

Tentukan Opsi Penyimpanan Markdown

Aspose.Words API menyediakan kelas MarkdownSaveOptions untuk menentukan opsi tambahan saat menyimpan dokumen ke dalam format Markdown.

Contoh kode berikut menunjukkan cara menentukan berbagai opsi penyimpanan 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")

Cara Menyelaraskan Konten di Dalam Tabel saat Mengekspor ke Markdown

Aspose.Words API menyediakan enumerasi TableContentAlignment yang menentukan arah penyelarasan untuk menyelaraskan konten dalam tabel saat mengekspor ke dokumen Markdown. Contoh kode berikut menunjukkan cara menyelaraskan konten di dalam tabel.

# 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)