無料SwiftライブラリでMarkdownファイルをWordファイルに変換

テキスト、テーブル、画像、リスト、フォント、カスタムフォーマットのサポートを備えた、MarkdownファイルをWord DOCXドキュメントに変換するオープンソースのSwiftライブラリ。

MarkdownToDocxとは?

今日の高速な開発環境では、フォーマット間でコンテンツをシームレスに変換できる能力はスーパー能力と言えます。Markdownは、そのシンプルさからドキュメント、ブログ投稿、READMEを書くための普遍的な言語となっています。Swift開発者にとって、MarkdownファイルをMicrosoft Word形式に変換することはこれまでになく簡単です。MarkdownToDocxライブラリは、プレーンテキストのMarkdownドキュメントをプロフェッショナルにフォーマットされたDOCXファイルに変換するための強力で柔軟なソリューションを提供します。この包括的なガイドは、この必須のSwiftライブラリについて知っておくべきすべてを探ります。基本的なフォーマットに加えて、ライブラリはより複雑なMarkdown機能も処理します。取り消し線テキストは適切なフォーマットで表示され、ブロック引用は独自のスタイルで表示され、テーブルはヘッダーやデータセルを含む完全な構造を保持したまま変換されます。

MarkdownToDocxは、MarkdownドキュメントをMicrosoft Word DOCX形式にシームレスに変換するオープンソースのSwiftライブラリです。AppleのMarkdownToDocxパーサーをベースにし、ZIPFoundationを利用してアーカイブを作成することで、シンプルなテキストフォーマットとプロフェッショナルなドキュメント生成の間のギャップを埋めます。シンプルさに優れつつ、ドキュメントのスタイルを細かく制御したい開発者向けに高度なカスタマイズオプションを提供します。ノートアプリ、ドキュメント生成ツール、コンテンツ管理システムを構築する場合でも、MarkdownToDocxは必要なツールを提供します。

Previous Next

MarkdownToDocxを始める

MarkdownToDocxのインストールにはGitHubを使用することが推奨されます。スムーズなインストールのために次のコマンドをご利用ください。

GitHubでMarkdownToDocxをインストール

$ go get https://github.com/riyadshauk/markdown-docx-swift.git   

MarkdownToDocxをプロジェクトに追加するのは数ステップです。Package.swiftファイルを開き、依存関係を追加してください:

次の依存関係をDependencies引数に追加してください

dependencies: [
    .package(url: "https://github.com/riyadshauk/markdown-docx-swift.git", from: "1.0.0")
]

SwiftでMarkdownファイルをDOCXに変換する

オープンソースのMarkdownToDocxライブラリは、Swiftコマンドを使用してmarkdownファイルを読み込み、Word DOCXファイルに変換するサポートを提供しています。markdownファイルを事前にメモリにロードせずに直接変換することも可能です。このアプローチは、大きなファイルに対しては全体を文字列としてロードする必要がないため、より効率的です。以下は、ソフトウェア開発者がSwiftコマンドを使用してmarkdownファイルをWord DOCXファイルに変換する方法を示すシンプルな例です。

Swiftライブラリを使用してMarkdownファイルをDOCXに変換する方法は?

import MarkdownToDocx

let inputURL = FileManager.default.urls(
    for: .documentDirectory, 
    in: .userDomainMask
)[0].appendingPathComponent("input.md")

let outputURL = FileManager.default.urls(
    for: .documentDirectory, 
    in: .userDomainMask
)[0].appendingPathComponent("output.docx")

do {
    let converter = MarkdownToDocxConverter()
    let docxData = try converter.convert(markdownFile: inputURL)
    try docxData.write(to: outputURL)
    print("File converted successfully!")
} catch {
    print("Conversion error: \(error)")
}

テキストフォーマットのサポート

MarkdownToDocxライブラリは、すべての基本的なテキストフォーマットオプションを処理します。太字、斜体、取り消し線のフォーマットは完全にサポートされています。インラインコードブロックも正しくレンダリングされ、コードと通常のテキストを区別する等幅フォーマットが維持されます。以下のシンプルなコード例は、フォーマット済みテキストの変換がいかに簡単かを示しています。コンバータはMarkdown構文を自動的に認識し、出力DOCXファイルに対応するフォーマットを適用します。

SwiftライブラリでWord DOCXのフォーマット済みテキストを変換する方法は?

let markdown = """
This is **bold text** and this is *italic text*.
You can also use ~~strikethrough~~ formatting.
Here's some `inline code` in the middle of a sentence.
"""

let converter = MarkdownToDocxConverter()
let docxData = try converter.convert(markdown: markdown)
try docxData.write(to: outputURL)

Swiftライブラリで入れ子のMarkdownリストを変換

オープンソースのMarkdownToDocxライブラリは、Swiftアプリ内のMarkdownファイルにおけるインデントされた箇条書きリストと番号付きリストの処理を完全にサポートしています。箇条書きリストと番号付きリストはシームレスに機能します。ライブラリは入れ子リストも正しく処理し、正しいインデントと番号付けのスキームを維持します。ListStyles設定のインデントプロパティにより、入れ子アイテムの配置を調整でき、リストが期待通りに表示されます。以下はその手順を示すシンプルな例です。

Swiftライブラリで入れ子のMarkdownリストを変換する方法は?

let markdown = """
## Shopping List

- Fruits
  - Apples
  - Bananas
  - Oranges
- Vegetables
  - Carrots
  - Broccoli

## Steps to Follow

1. First step
2. Second step
   1. Sub-step one
   2. Sub-step two
3. Third step
"""

let converter = MarkdownToDocxConverter()
let docxData = try converter.convert(markdown: markdown)

SwiftライブラリでMarkdownテーブルをレンダリング

テーブルサポートは際立った機能の一つです。MarkdownToDocxライブラリはMarkdownテーブルを正しく解釈し、Swiftアプリ内で適切な境界線とセルのフォーマットでレンダリングします。テーブルは構造を完璧に保持し、スタイリング設定を通じてカスタマイズ可能な境界線、セルパディング、テキスト配置オプションが利用できます。以下の例は、ライブラリを使用してMarkdownテーブルを読み取り、適切な境界線とセルフォーマットでレンダリングする方法を示しています。

SwiftライブラリでMarkdownテーブルをレンダリングする方法は?

let markdown = """
| Feature | Status | Notes |
|---------|--------|-------|
| Headings | ✅ | All levels supported |
| Lists | ✅ | Nested lists work |
| Tables | ✅ | Full support |
| Images | ✅ | Basic support |
"""

let converter = MarkdownToDocxConverter()
let docxData = try converter.convert(markdown: markdown)






















Parse Markdown Documents via Swift API
 日本