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-.NET
Document doc = new Document();
DocumentBuilder builder = new 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("EmphasesExample.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-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// By default Heading styles in Word may have bold and italic formatting.
// If we do not want 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.ParagraphFormat.Style = doc.Styles["Heading 1"];
builder.Writeln("Heading1");
builder.ParagraphFormat.Style = doc.Styles["Heading 2"];
builder.Writeln("Heading2");
builder.ParagraphFormat.Style = doc.Styles["Heading 3"];
builder.Writeln("Heading3");
builder.ParagraphFormat.Style = doc.Styles["Heading 4"];
builder.Writeln("Heading4");
builder.ParagraphFormat.Style = doc.Styles["Heading 5"];
builder.Writeln("Heading5");
builder.ParagraphFormat.Style = doc.Styles["Heading 6"];
builder.Writeln("Heading6");
// Note, emphases are also allowed inside Headings:
builder.Font.Bold = true;
builder.ParagraphFormat.Style = doc.Styles["Heading 1"];
builder.Writeln("Bold Heading1");
doc.Save(dataDir + "HeadingsExample.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-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("We support blockquotes in Markdown:");
builder.ParagraphFormat.Style = doc.Styles["Quote"];
builder.Writeln("Lorem");
builder.Writeln("ipsum");
builder.ParagraphFormat.Style = doc.Styles["Normal"];
builder.Writeln("The quotes can be of any level and can be nested:");
Style quoteLevel3 = doc.Styles.Add(StyleType.Paragraph, "Quote2");
builder.ParagraphFormat.Style = quoteLevel3;
builder.Writeln("Quote level 3");
Style quoteLevel4 = doc.Styles.Add(StyleType.Paragraph, "Quote3");
builder.ParagraphFormat.Style = quoteLevel4;
builder.Writeln("Nested quote level 4");
builder.ParagraphFormat.Style = doc.Styles["Quote"];
builder.Writeln();
builder.Writeln("Back to first level");
Style quoteLevel1WithHeading = doc.Styles.Add(StyleType.Paragraph, "Quote Heading 3");
builder.ParagraphFormat.Style = quoteLevel1WithHeading;
builder.Write("Headings are allowed inside Quotes");
doc.Save(dataDir + "QuotesExample.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-.NET
// Initialize document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.Writeln("Insert a horizontal rule shape into the document.");
builder.InsertHorizontalRule();
dataDir = dataDir + "DocumentBuilder.InsertHorizontalRule_out.doc";
doc.Save(dataDir);

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-.NET
// This is Markdown document that was produced in example of UC3.
Document doc = new Document(dataDir + "QuotesExample.md");
// Let's remove Heading formatting from a Quote in the very last paragraph.
Paragraph paragraph = doc.FirstSection.Body.LastParagraph;
paragraph.ParagraphFormat.Style = doc.Styles["Quote"];
doc.Save(dataDir + "QuotesModifiedExample.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-.NET
DocumentBuilder builder = new DocumentBuilder();
builder.Writeln("Some text!");
// specify MarkDownSaveOptions
MarkdownSaveOptions saveOptions = (MarkdownSaveOptions)SaveOptions.CreateSaveOptions(SaveFormat.Markdown);
builder.Document.Save(dataDir + "TestDocument.md", saveOptions);

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-.NET
DocumentBuilder builder = new DocumentBuilder();
// Create a new table with two cells.
builder.InsertCell();
builder.ParagraphFormat.Alignment = ParagraphAlignment.Right;
builder.Write("Cell1");
builder.InsertCell();
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.Write("Cell2");
MarkdownSaveOptions saveOptions = new MarkdownSaveOptions();
// Makes all paragraphs inside table to be aligned to Left.
saveOptions.TableContentAlignment = TableContentAlignment.Left;
builder.Document.Save(dataDir + "left.md", saveOptions);
// Makes all paragraphs inside table to be aligned to Right.
saveOptions.TableContentAlignment = TableContentAlignment.Right;
builder.Document.Save(dataDir + "right.md", saveOptions);
// Makes all paragraphs inside table to be aligned to Center.
saveOptions.TableContentAlignment = TableContentAlignment.Center;
builder.Document.Save(dataDir + "center.md", saveOptions);
// Makes all paragraphs inside table to be aligned automatically.
// The alignment in this case will be taken from the first paragraph in corresponding table column.
saveOptions.TableContentAlignment = TableContentAlignment.Auto;
builder.Document.Save(dataDir + "auto.md", saveOptions);