Markdown機能の操作
このトピックでは、Aspose.Wordsを使用してMarkdown機能を実装する方法について説明します。 Markdownは、HTMLに簡単に変換できるプレーンテキストを書式設定する簡単な方法です。 Aspose.Wordsは次のMarkdown機能をサポートします:
- 見出し
- Blockquotes
- 水平ルール
- 大胆な強調
- 斜体強調
Markdown機能の実装は主にAspose.WordsAPIのCommonMark
仕様に従い、すべての機能は対応するスタイルまたは直接書式設定として表されます。 つまり
- 太字と斜体は
Font.Bold
とFont.Italic
として表されます。 - 見出しはHeading 1-Heading 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-Java | |
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.getFont().setBold(true); | |
builder.write("bold"); | |
builder.getFont().setBold(false); | |
builder.write(" or "); | |
builder.getFont().setItalic(true); | |
builder.write("italic"); | |
builder.getFont().setItalic(false); | |
builder.writeln(" text. "); | |
builder.write("You can also write "); | |
builder.getFont().setBold(true); | |
builder.getFont().setItalic(true); | |
builder.write("BoldItalic"); | |
builder.getFont().setBold(false); | |
builder.getFont().setItalic(false); | |
builder.write("text."); | |
builder.getDocument().save("EmphasesExample.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-Java | |
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.getFont().setBold(false); | |
builder.getFont().setItalic(false); | |
builder.writeln("The following produces headings:"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 1")); | |
builder.writeln("Heading1"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 2")); | |
builder.writeln("Heading2"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 3")); | |
builder.writeln("Heading3"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 4")); | |
builder.writeln("Heading4"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 5")); | |
builder.writeln("Heading5"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 6")); | |
builder.writeln("Heading6"); | |
// Note, emphases are also allowed inside Headings: | |
builder.getFont().setBold(true); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Heading 1")); | |
builder.writeln("Bold Heading1"); | |
doc.save(dataDir + "HeadingsExample.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-Java | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.writeln("We support blockquotes in Markdown:"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
builder.writeln("Lorem"); | |
builder.writeln("ipsum"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal")); | |
builder.writeln("The quotes can be of any level and can be nested:"); | |
Style quoteLevel3 = doc.getStyles().add(StyleType.PARAGRAPH, "Quote2"); | |
builder.getParagraphFormat().setStyle(quoteLevel3); | |
builder.writeln("Quote level 3"); | |
Style quoteLevel4 = doc.getStyles().add(StyleType.PARAGRAPH, "Quote3"); | |
builder.getParagraphFormat().setStyle(quoteLevel4); | |
builder.writeln("Nested quote level 4"); | |
builder.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
builder.writeln(); | |
builder.writeln("Back to first level"); | |
Style quoteLevel1WithHeading = doc.getStyles().add(StyleType.PARAGRAPH, "Quote Heading 3"); | |
builder.getParagraphFormat().setStyle(quoteLevel1WithHeading); | |
builder.write("Headings are allowed inside Quotes"); | |
doc.save(dataDir + "QuotesExample.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-Java | |
DocumentBuilder builder = new DocumentBuilder(new Document()); | |
builder.writeln("We support Horizontal rules (Thematic breaks) in Markdown:"); | |
builder.insertHorizontalRule(); | |
builder.getDocument().save(dataDir + "HorizontalRuleExample.md"); |
Markdown文書の読み取り
次のコードスニペットは、markdownドキュメントの読み取り方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// This is Markdown document that was produced in example of | |
// MarkdownDocumentWithBlockQuotes. | |
Document doc = new Document(dataDir + "QuotesExample.md"); | |
// Let's remove Heading formatting from a Quote in the very last paragraph. | |
Paragraph paragraph = doc.getFirstSection().getBody().getLastParagraph(); | |
paragraph.getParagraphFormat().setStyle(doc.getStyles().get("Quote")); | |
doc.save(dataDir + "QuotesModifiedExample.md"); |
Markdown保存オプションの指定
Aspose.WordsAPIは、文書をMarkdown形式で保存する際に追加のオプションを指定するMarkdownSaveOptionsクラスを提供します。Aspose.WordsAPIはMarkdownSaveOptionsクラスを提供します。
次のコード例では、さまざまなMarkdown保存オプションを指定する方法を示しました。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
DocumentBuilder builder = new DocumentBuilder(); | |
builder.writeln("Some text!"); | |
// specify MarkDownSaveOptions | |
MarkdownSaveOptions saveOptions = (MarkdownSaveOptions) SaveOptions.createSaveOptions(SaveFormat.MARKDOWN); | |
builder.getDocument().save(dataDir + "TestDocument.md", saveOptions); |
Markdownにエクスポート中にテーブル内のコンテンツを整列させる方法
Aspose.WordsAPIはTableContentAlignment列挙体を提供し、Markdown文書へのエクスポート中にテーブル内の内容を整列させる整列方向を定義します。 次のコード例は、テーブル内のコンテンツを整列する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
DocumentBuilder builder = new DocumentBuilder(); | |
// Create a new table with two cells. | |
builder.insertCell(); | |
builder.getParagraphFormat().setAlignment(ParagraphAlignment.RIGHT); | |
builder.write("Cell1"); | |
builder.insertCell(); | |
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER); | |
builder.write("Cell2"); | |
MarkdownSaveOptions saveOptions = new MarkdownSaveOptions(); | |
// Makes all paragraphs inside table to be aligned to Left. | |
saveOptions.setTableContentAlignment(TableContentAlignment.LEFT); | |
builder.getDocument().save(dataDir + "left.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Right. | |
saveOptions.setTableContentAlignment(TableContentAlignment.RIGHT); | |
builder.getDocument().save(dataDir + "right.md", saveOptions); | |
// Makes all paragraphs inside table to be aligned to Center. | |
saveOptions.setTableContentAlignment(TableContentAlignment.CENTER); | |
builder.getDocument().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.setTableContentAlignment(TableContentAlignment.AUTO); | |
builder.getDocument().save(dataDir + "auto.md", saveOptions); |