文書をMarkdownに変換する
Markdownは、テキストをマークアップし、HTML、PDF、DOCX、または他の形式にさらに変換するために使用される一般的な形式です。 多くの開発者は、ドキュメントの作成、ブログへの公開のための記事の準備、プロジェクトの説明などのためにこの形式を選択します。
Markdownは、この形式で作業するのが簡単であるだけでなく、他の形式に簡単に変換できるため、非常に人気があります。 このため、Aspose.Wordsはany supported load formatの文書をMarkdownに、またその逆に変換する機能を提供します–Aspose.Wordsは最も人気のあるsave formatsもサポートします。
現在、Markdown形式で作業するための機能が積極的に開発されており、文書を便利で快適に作業する機会が増えています。
文書を変換する
ドキュメントをMarkdownに変換するには、サポートされている任意の形式でドキュメントを読み込むか、プログラムで新しい形式を作成するだけです。 次に、文書をMarkdown形式で保存する必要があります。
次のコード例は、DOCXをMarkdownに変換する方法を示しています:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// Load the document from disk. | |
auto doc = System::MakeObject<Document>(inputDataDir + u"Test.docx"); | |
// Save the document to Markdown format. | |
doc->Save(outputDataDir + u"SpecifyMarkdownSaveOptions.SaveAsMD.md"); |
また、ドキュメントをMarkdown形式でエクスポートするときに画像を保存する物理フォルダを指定することもできます。 既定では、Aspose.Wordsはドキュメントファイルが保存されているのと同じフォルダーに画像を保存しますが、ImagesFolderプロパティを使用してこの動作を上書きできま
ImagesFolderでフォルダを指定することは、ドキュメントをストリームに保存し、Aspose.Wordsに画像を保存するためのフォルダがない場合にも便利です。
指定されたImagesFolderが存在しない場合は、自動的に作成されます。
次のコード例は、ドキュメントをストリームに保存するときに画像のフォルダーを指定する方法を示しています:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// Load the document from disk. | |
auto doc = System::MakeObject<Document>(inputDataDir + u"Test.docx"); | |
auto so = System::MakeObject<MarkdownSaveOptions>(); | |
so->set_ImagesFolder(outputDataDir + u"\\Images"); | |
auto stream = System::MakeObject<System::IO::MemoryStream>(); | |
doc->Save(stream, so); |
Markdownに変換するときに保存オプションを指定します
Aspose.Wordsは、文書をMarkdown形式で保存するときに、高度なオプションを操作するためにMarkdownSaveOptionsクラスを使用する機能を提供します。Aspose.Wordsは、Markdown形式で保存するときに、MarkdownSaveOptionsク ほとんどのプロパティは、他のAspose.Words.Saving名前空間クラス内に既に存在するプロパティを継承またはオーバーロードしています。 これらに加えて、Markdown形式に固有のいくつかのプロパティも追加されました。 たとえば、テーブル内のコンテンツの配置を制御するにはTableContentAlignmentプロパティ、文書をMarkdown形式に変換する際の画像の保存方法を制御するにはImageSavingCallbackとImagesFolderプロパティ
サポートされているMarkdown機能
Aspose.Words は現在、次の Markdown 機能をサポートしています。これらの機能は主に Aspose.Words API の CommonMark
仕様に準拠しており、適切なスタイルまたは直接の書式として表されます。
- 見出しは、見出し1-見出し6スタイルの段落です
- Blockquotesは、スタイル名に"Quote"が付いた段落です
- IndentedCodeはスタイル名に"IndentedCode"を含む段落です
- FencedCodeはスタイル名に"FencedCode"を含む段落です
- InlineCodeは、
Font
スタイル名に"InlineCode"を含む実行です - 水平ルールは
HorizontalRule
の形をした段落です - 大胆な強調
- 斜体強調
- StrikeThrough書式設定
- リストには番号または箇条書きの段落が付いています
- テーブルは
Table
クラスで表されます - リンクは
FieldHyperlink
クラスとして表されます
次の例は、いくつかのスタイルを持つドキュメントを作成してMarkdownに保存する方法を示しています:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
auto doc = System::MakeObject<Document>(); | |
auto builder = System::MakeObject<DocumentBuilder>(doc); | |
// Specify the "Heading 1" style for the paragraph. | |
builder->InsertParagraph(); | |
builder->get_ParagraphFormat()->set_StyleName(u"Heading 1"); | |
builder->Write(u"Heading 1"); | |
// Specify the Italic emphasis for the paragraph. | |
builder->InsertParagraph(); | |
// Reset styles from the previous paragraph to not combine styles between paragraphs. | |
builder->get_ParagraphFormat()->set_StyleName(u"Normal"); | |
builder->get_Font()->set_Italic(true); | |
builder->Write(u"Italic Text"); | |
// Reset styles from the previous paragraph to not combine styles between paragraphs. | |
builder->set_Italic(false); | |
// Specify a Hyperlink for the desired text. | |
builder->InsertParagraph(); | |
builder->InsertHyperlink(u"Aspose", u"https://www.aspose.com", false); | |
builder->Write(u"Aspose"); | |
// Save your document as a Markdown file. | |
doc->Save(outputDataDir + u"SpecifyMarkdownSaveOptions.SupportedMarkdownFeatures.md"); |
このコード例の結果を以下に示します。
便利なヒント
いくつかのニュアンスと興味深いケースがあり、Markdownファイルをより柔軟かつ便利に扱うことができることを学びました。 たとえば、次を使用する機能があります:
- SetextHeadingはMarkdownに複数行の見出しを作成することができますが、Markdownの通常の見出しは単一行のみにすることができます。 SetextHeadingは"見出しN"スタイルに基づいており、そのレベルは1または2のみです。 “見出しN"のNが2以上の場合、対応するSetextHeadingは"見出し2"に基づいており、そうでない場合は"見出し1"に基づいています。
- 箇条書きリストの最初のレベル("-"、"+"、または”*")の異なるマーカーは、デフォルトのマーカーは"-“です。(”.“または”)“の場合、デフォルトのマーカーは”.“です)。