Skip to content
プロジェクト

ZHYX91/docwen has 89 GitHub stars and 5 forks. Star changes are not measured yet. Last checked 2026-11-14 01:24 UTC. Last push 2026-11-13.

この数値の測り方

できること

  • 🚀 One-Click Launch - Sidebar icon to quickly launch the converter.
  • 📂 Automatic Handover - Automatically passes the currently open file path.
  • 🔄 Reuse the open window - Open another file in the running converter without restarting it.

計測したスター増加

24時間
履歴を収集中
7日間
履歴を収集中
15日間
履歴を収集中
1か月
履歴を収集中

期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。

概要

Local-first GUI and CLI for document conversion, OCR, proofreading, and Word/Markdown/Excel workflows.

開発ツール

docs/user-guides/README.ja-JP.md

オリジナル

DocWen

DocWen logo

English · 简体中文 · 繁體中文 · Deutsch · Français · Español · Português · Русский · 日本語 · 한국어 · Tiếng Việt · العربية

DocWen は Word、Markdown、Excel などのオフィス形式を扱うローカルの文書・表変換ツールです。信頼できるオフライン作業を重視し、文書処理をユーザーの端末内で完結させます。

表示言語はアプリの文言と配置を制御します。一般設定の出力言語は、生成ラベル、文書スタイル、校正コメントを個別に制御し、本文は翻訳しません。表示言語を変えても保存済みの出力言語やテンプレートは変わりません。OCR の自動設定は出力言語に従います。通常の Markdown 本文を1行ずつ Word の段落にする設定は、初期状態ではオフです。

DocWen でできること

Word と Markdown の相互変換、表計算ファイルや PDF の整理、独自ルールによる校正をローカルで行えます。日常操作には GUI、繰り返す作業には CLI を使います。利用可能な変換は形式とインストール済みソフトによって異なるため、機能一覧を参照してください。

✨ 主な機能

  • 📄 ドキュメント形式変換 - Word ↔ Markdownの双方向変換。数式変換、双方向セパレーター変換(Markdownの3種類のセパレーターとWordの改ページ、セクション区切り、水平線)に加え、Markdown表の明示的な < / ^ 結合マーカーを Word の矩形セル結合へ復元できます。DOCX/DOC/WPS/RTF/ODTなどの形式をサポートします。
  • 📊 スプレッドシート変換 – Excel ↔ Markdownの双方向変換。XLSX/XLS/ET/ODS/CSV/TSVに対応します。結合セルは、内容の繰り返し、空欄、結合マーカーのいずれかで出力できます。XLSXテンプレートでは、YAMLフィールド、表の行や列、画像、結合セルを扱えます。複数の表の集約も可能です。
  • 📑 PDFおよびレイアウトファイル - PDF/XPS/OFDからMarkdownまたはDOCXへの変換。PDFの結合、分割、その他の操作をサポートします。
  • 🖼️ 画像処理 - JPEG/PNG/GIF/BMP/TIFF/WebP/HEIC形式の双方向変換と圧縮をサポートします。
  • 📥 その他の形式のインポート - HTML/MHTML/ENEX/EPUB/PPTX/PPT から Markdown への一方向変換をサポートします。
  • 🔍 OCRテキスト認識 - 画像やPDFからテキストを抽出するためにRapidOCRを統合しました。
  • ✏️ テキスト校正 - Word (.docx) および Markdown (.md) ファイルを対象に、カスタム辞書に基づいて誤字、句読点、記号、機密用語をチェックします。ルールは設定インターフェースで編集できます。
  • 📝 テンプレートシステム - カスタム文書およびレポート形式をサポートする柔軟なテンプレートメカニズム。
  • 💻 デュアルモード操作 - グラフィカルユーザーインターフェース(GUI)+ コマンドラインインターフェース(CLI)。
  • 🔒 依存関係の送信保護を備えたローカル処理 - 変換はオンラインサービスに依存しません。DocWen の実行中、Python プロセス内の依存関係による DNS と IPv4/IPv6 の使用を遮断します。外部 Office アプリはシステム独自のネットワークポリシーに従います。
  • 🔗 シングルインスタンス操作 - プログラムインスタンスを自動的に管理し、付属のObsidianプラグインとの統合をサポートします。

📸 スクリーンショット

Word 文書を読み込み、Markdown への書き出しオプションを選びます(画面は英語表示)。

Word 文書を読み込み、Markdown への書き出しオプションを選びます(画面は英語表示)。

Markdown を読み込み、テンプレートを選んで Word 文書を生成します(画面は英語表示)。

Markdown を読み込み、テンプレートを選んで Word 文書を生成します(画面は英語表示)。

更新履歴: CHANGELOG.md を参照

🚀 クイックスタート

ダウンロードして起動

Releases から環境に合うアーカイブをダウンロードします。対応パッケージは Windows x64、Ubuntu 24.04 x64、Apple Silicon / macOS 14+ です。Python のインストールは不要です。全体を展開し、Windows では DocWen.exe、Ubuntu では ./DocWen を実行します。Mac では DocWen.app をアプリケーションに移し、初回起動ガイドに従います。Ubuntu と macOS には CLI 専用パッケージもあります。他の Linux ディストリビューションと Intel Mac はパッケージの対象外です。

配布ファイルはバージョンによって異なります。使用するシステム向けに実際に掲載されているアーカイブを選んでください。旧バージョンには macOS 版がない場合があります。

ソースから実行

開発やソースインストールには Python 3.12 と uv 0.12.0 を用意し、リポジトリで次を実行します。

git clone https://github.com/ZHYX91/docwen.git
cd docwen
uv sync --frozen --all-extras
uv run --frozen docwen-gui
uv run --frozen docwen --help

uv run --frozen は同期済み環境を使うため、手動で有効化する必要はありません。CI と製品ビルドは uv 0.12.0、依存関係の保守は互換の 0.12.x を使います。pip install -e はこのリポジトリの依存関係除外ルールを適用できないため、対応していません。

macOS の注意事項

Mac 版は ad-hoc 署名を保持し、Developer ID 署名と Apple の公証は行いません。インストールと初回起動を参照してください。

LibreOffice サポート(任意)

古い形式(.doc、.xls など)を変換する場合は LibreOffice をインストールしてください:
ダウンロード:https://www.libreoffice.org/download/

HEIC/HEIF 画像

配布パッケージは同梱の画像バックエンドを使用します。DocWenCLI doctor --json で現在のビルドを確認してください(Mac の CLI パスは下記ガイドを参照)。システム Python に pillow-heif を入れても配布アプリは変わりません。ソースでは uv sync --frozen --all-extras に pillow-heif が含まれます。macOS のバックエンドがネイティブライブラリ不足を報告した場合は brew install libheif を実行し、uv run --frozen docwen doctor --json で再確認します。利用可否は実際のビルドとバックエンドによります。

Linux GUI 版の前提条件

サポート対象パッケージ:DocWen は Ubuntu 24.04 x64 パッケージの GUI と CLI を サポートします。この前提条件は他のディストリビューションやアーキテクチャには拡張されません。

  • デスクトップ環境がインストールされていること(GNOME、KDE、XFCE など)
  • GUI は PySide6(Qt6)ベースです。起動時にシステムライブラリ不足で失敗した場合は、エラーメッセージに従って必要な Qt ランタイム依存関係(一般的には OpenGL/X11 関連)を導入してください。
  • デスクトップ環境がない場合は、展開した CLI パッケージで ./DocWenCLI、ソースディレクトリで uv run --frozen docwen を実行してください。

クイックスタートガイド

  1. Markdownファイルを準備する:

    ---
    title: テストドキュメント
    ---
    
    ## テストタイトル
    
    これはテスト本文の内容です。
    
  2. ドラッグアンドドロップ変換:

    • プログラムを起動します。
    • .md ファイルをウィンドウにドラッグします。
    • テンプレートを選択します。
    • 「生成 DOCX」をクリックします。
  3. 結果を取得:

    • Word 文書が一つの場合、設定した出力先に直接保存されます。ステータスバーから出力先を開いて確認できます。

ヒント:samples/ ディレクトリのサンプルファイルを使用して、ソフトウェアの機能をすぐに試すことができます。

🖥️ グラフィカルインターフェースの使用

タスク開始時に、実際のリクエストに含まれる設定が表示されます。テンプレートは名前や用途で検索できます。「このセッションで最近使用」は開始したタスクのテンプレートを示し、既定の設定は変更しません。表の集約は対象範囲・モード・結果の確認方法を参照してください。

インターフェースの概要

プログラムは 適応型3列レイアウト を使用します:

エリア 説明 表示タイミング
中央列(メインエリア) ファイルドラッグアンドドロップエリア、操作パネル、ステータスバー 常に表示
右列 テンプレートセレクター / 形式変換パネル ファイル選択後に自動的に展開
左列 バッチファイルリスト(タイプ別にグループ化) バッチモード切り替え時に表示

基本操作フロー

  1. プログラムの起動:DocWen.exe(Windows パッケージ版)をダブルクリックするか、uv run --frozen docwen-gui を実行します。
  2. ファイルのインポート:
    • 方法1:ファイルをウィンドウに直接ドラッグアンドドロップします。
    • 方法2:ドラッグアンドドロップエリアの「追加」ボタンをクリックしてファイルを選択します。
  3. テンプレートの選択(変換が必要な場合):右側のテンプレートパネルが自動的に展開します。適切なテンプレートを選択します。
  4. オプションの構成:操作パネルで必要な変換/エクスポートオプションをチェックします。
  5. 操作の実行:対応する機能ボタン(例:「MDエクスポート」、「生成 DOCX」など)をクリックします。
  6. 結果の表示:ステータスバーに進捗と結果が表示されます。右側の「出力を開く」操作をクリックすると出力先を開けます。

単一ファイルモード vs. バッチモード

プログラムは2つの処理モードをサポートしており、ファイルドラッグアンドドロップエリアのトグルボタンで切り替えることができます:

単一ファイルモード(デフォルト):

  • 一度に1つのファイルを処理します。
  • シンプルなインターフェース、日常使用に適しています。

バッチモード:

  • 複数のファイルを同時にインポートします。
  • 左列に分類されたファイルリストが表示されます(ドキュメント/スプレッドシート/画像などでグループ化)。
  • バッチ追加、削除、並べ替えをサポートします。
  • リスト内のファイルをクリックすると、現在の操作対象が切り替わります。

操作パネル機能

操作パネルは、ファイルの種類に基づいて利用可能なオプションを自動的に調整します:

ファイルタイプ 利用可能な操作
Wordドキュメント MDエクスポート、PDF変換、テキスト校正、OCR
Markdown DOCX変換、PDF変換、テキスト校正
Excelスプレッドシート MDエクスポート、PDF変換、テーブル要約
PDFファイル MDエクスポート、結合、分割、OCR
画像ファイル 形式変換、圧縮、OCR
HTML/EPUB/PPTXなど MDエクスポート

設定インターフェース

設定はウィンドウ下部の設定アイコンまたは Ctrl+, で開きます。左側のナビゲーションは基本設定、入力の種類、コンテンツ、専用機能に分かれ、ウィンドウの高さが足りないときはスクロールでき、幅が足りない場合のみページ選択のドロップダウンに切り替わります。

OCR と画像では共通の認識設定と Markdown への画像出力を管理します。入力形式ごとの OCR 初期設定は各入力ページに、画像変換と圧縮は入力画像にあります。Markdown を生成では出力構文と拡張を、Markdown を解析では入力の認識、拡張、Markdown から Word への対応規則を設定します。すべての入力形式や専用最適化が全構文設定に対応しているわけではありません。拡張を有効にしても認識機能は追加されません。

最適化の選択肢は、現在の表示言語と検出された入力形式の両方に対応し、必要な変換ソフトも利用できる場合にのみ表示されます。対応する設定ページも、適用できる最適化がある場合にだけ表示されます。現在、組み込みの中国語公文書・中国の請求書向け最適化は簡体字中国語の画面(zh_CN)のみが対象です。他の表示言語では選択肢と設定ページを表示せず、保存済みの初期設定も適用しません。設定値は保持され、対象言語に戻すと再び利用できます。この規則は GUI の選択と初期設定に関するもので、CLI や Machine で明示したタスクは変更しません。

すべての表示言語で、**入力テキスト → 見出し番号付け (Markdownからドキュメント)**から出力方式を一つ選びます。テキストは新しい番号を見出しの文字列に書き込み、DOCX ネイティブは Word の複数レベルの番号付けを使います。新しい見出し番号にコメントを追加は独立した設定で、どちらの方式でも使えます。テキスト方式では追加した番号に、ネイティブ方式では見出しの最初の表示文字にコメントを付けます。見出し番号の追加は別途有効にしてください。

適用できる最適化がある場合に、公文書と請求書の設定ページを表示します。公文書の文書 → Markdownでは認識の初期設定、Markdown → 文書ではテンプレート項目の書式を設定し、添付説明、写しの送付先、日付、注記などの扱いを情報アイコンで確認できます。請求書の設定は PDF / OFD → Markdown と画像 → Markdownで別々です。いずれも対応ファイルの初期選択だけを変更し、ファイル種別を自動判定しません。適用/OKで保存し、キャンセルで未適用の変更を破棄します。

これとは別に、Markdown → 文書の中国公文書フィールドの書式設定は template_fill.gongwen_fields_enabled(既定で有効)が制御し、表示言語やタスクの出力言語には依存しません。公文書の設定ページが非表示でも、この機能は無効になりません。固定の中国語テンプレートフィールドを書式設定する機能であり、文書 → Markdown の公文書認識を制御するものではありません。

**対象範囲:**専用のフィールド書式設定は中国の公文書規則、請求書の抽出最適化は中国の請求書形式を対象とします。その他のファイルでも通常の変換経路は利用できます。

ショートカット

  • 外部ファイルのドラッグ:ウィンドウに直接ドラッグしてインポートします。
  • 出力先を開く:ステータスバー右側の「出力を開く」操作をクリックして出力先を開きます。
  • テンプレート項目の右クリック:テンプレートファイルの場所を開きます。

🔧 コマンドライン利用

CLI の例ではコマンド名を docwen と表記します。ソースディレクトリでは前に uv run --frozen を付け、配布パッケージでは Windows の DocWenCLI.exe または Linux/macOS の ./DocWenCLI に置き換えてください。

コマンドライン(CLI)では、ターミナルからファイルを確認・変換したり、ローカルの処理をスクリプトで自動化したりできます。他のアプリとの連携には、以下のMachine Protocolを使用してください。

自動化で推奨する呼び出し順

ローカルの自動化スクリプトでは、次の順序で変換を確認して実行できます。

  1. inspect <file> [--json]:まず実際のファイル種別、形式、利用可能なアクションを確認します。
  2. resources list formats --json:現在の DocWen で実際に利用できるルートと依存条件を確認します。
  3. schema convert:convert の機械可読な契約と条件ルールを取得します。
  4. convert <file> --to <fmt> (--output-dir <dir> | --output <path>) --dry-run --json:出力を書き出さずに検出、正規化、ルーティングを事前確認します。
  5. convert <file> --to <fmt> (--output-dir <dir> | --output <path>) ...:問題がなければ本番の変換を実行します。

アプリやプラグインは、serve --stdioとMachine Protocol v2で接続し、利用可能な操作の確認、タスクの計画と実行を行います。これは外部連携用の安定したAPIです。CLIの--jsonはターミナルスクリプト向けです。デスクトップアプリでファイルを開いたり、ウィンドウを前面に表示したりするには、gui open|activate|statusを使用します。

よく使う例

Markdown を生成する変換では、常に --output-dir DIR で指定した親フォルダーの下に結果フォルダーを作成します。Markdown から文書やスプレッドシートを生成し、最終ファイルが一つの場合はその親フォルダーに直接保存します。複数ファイルや明示的に要求した監査用の付随ファイルがある場合は結果フォルダーを使用します。自動生成する名前には元の名前、日時、今回の入力形式を含みます。Markdown から生成する場合も含め、単一の最終ファイルの正確なパスには --output PATH を使います。グループ化した結果には --output-dir が必要です。

# Windows パッケージ版
DocWenCLI.exe inspect document.docx --json

# スクリプト / Agent 向けに convert 契約を取得
DocWenCLI.exe schema convert

# 実際には書き出さずに変換の流れを確認
DocWenCLI.exe convert report.docx --to md --output-dir exports --extract-img --ocr --dry-run --json

# Word を Markdown に変換(画像抽出 + OCR)
DocWenCLI.exe convert report.docx --to md --output-dir exports --extract-img --ocr

# Markdown を Word に変換(テンプレート指定 + 見出し/本文結合モード)
DocWenCLI.exe convert document.md --to docx --output-dir exports --template template.docx.16f7dd4daed94f3a1130ef0999b3ae1f738a6b3cd185bebe363ada6536f8815f --heading-merge-mode punct_required

# Markdown から Word へ変換し、公開前に生成 DOCX を校正
DocWenCLI.exe convert document.md --to docx --output-dir exports --proofread --check typo --check punct

# Markdown 出力時の画像モードと OCR テキスト配置を制御
DocWenCLI.exe convert report.docx --to md --output-dir exports --extract-img --image-mode file --ocr --ocr-placement image_md

# ランタイム能力と依存ゲートを確認
DocWenCLI.exe doctor --json
DocWenCLI.exe resources list formats --json

# 文書校正
DocWenCLI.exe validate document.docx --check typo --check punct
DocWenCLI.exe validate input.md --check typo --check punct

# ソースコード / uv から利用
# inspect -> schema -> dry-run -> convert
# docwen inspect document.docx --json
# docwen schema convert
# docwen convert document.docx --to md --output-dir exports --dry-run --json
# docwen convert document.docx --to md --output-dir exports

主なコマンドとオプション

コマンド / オプション 説明
convert <file> --to <fmt> (--output-dir <dir> | --output <path>) 変換の統一エントリポイントです。
convert <markdown> --to docx --output-dir <dir> --proofread [--check ...] Markdown→DOCX 後に生成 DOCX を校正します。convert の --check には --proofread が必要で、--check を省略すると設定済みの校正既定値を使用します。
convert <file> --to <fmt> (--output-dir <dir> | --output <path>) --dry-run --json 実変換は行わず、検出、正規化、ルーティング、有効オプションだけを事前確認します。
schema convert convert の機械可読な契約、デフォルト値、条件、正規キーを出力します。
validate <file> --check ... 文書校正(typo/punct/symbol/sensitive/all/none)。CLI エンベロープには --json を使用します。--report は省略可能なレポートファイルのパスです。
inspect <file> [--json] ファイル種別/形式、推奨アクション、拡張子と内容の不一致に関する警告を確認します。
doctor --json 診断結果に加えて、ランタイム能力サマリーと依存ゲートを出力します。
resources list formats --json ソースカテゴリごとのターゲット形式と依存ゲート / 制限サマリーを出力します。
resources list optimizations --json 型付き最適化リソースと、その正規ルートへの関連付けを一覧表示します。
resources list templates 利用可能なテンプレートを一覧表示します。
resources list numbering-schemes 利用可能な番号付けスキームを一覧表示します。
gui open [ABSOLUTE_FILE] [--timeout <seconds>] [--json] 独立したローカル GUI 制御で DocWen を起動またはアクティブ化し、必要に応じて絶対パスのファイルを開きます。
--template <id> resources list templates が返す正規リソース ID をそのまま指定します。表示名・ファイル名・パスは拒否されます。DOCX ID は docx/doc/odt/rtf/wps/pdf、XLSX ID は xlsx/xls/ods/csv 用です。
--extract-img / --no-extract-img / --ocr convert --to md 向けの画像抽出と OCR オプションです。
--image-mode file|base64|embed|omit Markdown エクスポート時の画像出力方法を制御します。
--ocr-placement image_md|main_md OCR テキストを画像側 Markdown に書くか、メイン Markdown に書くかを制御します。
--heading-merge-mode punct_required|always|never convert --to docx 時の「見出し + 本文」結合戦略を制御します。
--optimization <id> 最適化プロファイルを明示的に有効化します(resources list optimizations を参照)。
batch convert|validate ... --jobs <n> [--continue-on-error] バッチ処理の制御です。
--json / --quiet / --timing ターミナルスクリプトでJSONを出力する、ログを減らす、処理時間を表示するためのオプションです。

CLI の追加例です。最適化は公開リソース ID を確認してから指定し、校正結果を保存する場合だけ --report を使います。

DocWenCLI.exe resources list optimizations --json
DocWenCLI.exe convert report.docx --to md --output-dir exports --optimization gongwen
DocWenCLI.exe validate input.md --check typo --report report.json

📝 Markdown構文規則

Obsidian の Markdown 拡張を使いますか? DocWen の新規インストールでは、次の4つの任意拡張は無効です:structural_tables(結合セルと複数行ヘッダー)、captions_references(Number Suite のキャプションと相互参照)、extended_headings(H7–H9)、typed_endnotes(型付き文末脚注)。

  • Markdown → Word: 設定 → Markdown を解析で必要な拡張を有効にするか、入力用の Obsidian 拡張を使用プリセットを使用します。無効の場合、特殊な記号が通常のテキストとして残ることがあります。
  • Word → Markdown: 設定 → Markdown を生成で対応する出力拡張またはそのページのプリセットを有効にしてください。無効の場合、構造が単純化・正規化され、警告が出ることがあります。

元の Markdown を保存し、生成された DOCX を確認してください。Word の番号は DocWen の変換オプションに従います。元の記号や空白の完全一致は保証されません。詳細は Markdown 互換仕様 を参照してください。

見出しレベルのマッピング

背景知識のない同僚が覚えやすくするために、このソフトウェアのMarkdown見出しはWordの見出しと 1対1 で対応しています:

  • ドキュメントのタイトルとサブタイトルはYAMLメタデータに配置されます。
  • Markdown # 見出し 1 はWordの「見出し 1」に対応します。
  • Markdown ## 見出し 2 はWordの「見出し 2」に対応します。
  • 以下同様に、最大9レベルの見出しをサポートします。

ヒント:Markdownの一級見出し(#)をドキュメントのタイトルとして使用し、二級見出し(##)から本文の見出しを始めたい場合は、Wordテンプレートで「見出し1」のスタイルをドキュメントのタイトルのような外観に調整し(例:中央揃え、太字、大きなフォントサイズ)、設定で一級見出しの番号付けをスキップする番号方式を選択してください。これにより、一級見出しがドキュメントのタイトルとして表示されます。

改行と段落

基本ルール:通常の Markdown 本文のソフト改行は初期設定では Word の別段落になりません。行ごとに分けるには、設定 → Markdown を解析の1 行ずつ独立した段落にするを有効にします。リスト、引用、コードおよび明示的な改行はそれぞれの規則に従います。

混合段落:小見出しを本文と同じ段落に混在させる必要がある場合(デフォルト:「句読点必須」モード)、以下の条件を満たす必要があります:

  1. 小見出しが設定で許可された文字で終わる。既定値は正確に 。:!?.:!?(全角または半角の句点、コロン、疑問符、感嘆符)。
  2. 本文が小見出しの 直後の行 にある。
  3. 本文の行が特殊なMarkdown要素ではない(見出し、コードブロック、テーブル、リスト、引用、数式ブロック、セパレーターなど)。

例:

## 一、作業要件。
この会議では、すべてのユニットが真剣に実装する必要があります...

上記の2行は同じ段落にマージされ、「一、作業要件。」は小見出し形式を維持し、「この会議では...」は本文形式を維持します。

注:

  • 小見出しと本文の間に空行を入れることはできません。そうしないと、別々の段落として認識されます。
  • デフォルト(「句読点必須」モード)では、小見出しが終了句読点で終わらない場合、空行がなくても次の行とはマージされません。
  • 設定 → 入力テキスト → Markdownからドキュメント — フォーマット処理 → 見出し+本文の結合モードで結合モードとトリガー文字を変更できます。トリガー文字を空にすると、「句読点必須」モードでは結合しません。
  • コンマ、セミコロン、列挙点、ダッシュ、省略記号は既定では対象外ですが、必要な場合は明示的に追加できます。

双方向セパレーター変換

MarkdownセパレーターとWordの改ページ/セクション区切り/水平線の間の双方向変換をサポートします:

  • DOCX → MD:Wordの改ページ、セクション区切り、水平線は自動的にMarkdownセパレーターに変換されます。
  • MD → DOCX:Markdown ---, ***, ___ は自動的に対応するWord要素に変換されます。
  • 構成可能:特定のマッピング関係は設定インターフェースでカスタマイズできます。

タスクリスト

GFMタスクリストの双方向変換をサポートします:

- [ ] 未完了
- [x] 完了
  • MD → DOCX:箇条書きリストとして ☐ / ☑ テキストプレフィックス付きでレンダリングされます。
  • DOCX → MD:リスト項目の ☐ / ☑ / ☒ プレフィックスを - [ ] / - [x] に変換します。
  • フォントに関する注意:☐/☑ は一部のフォントで表示されない場合があります。必要に応じて、Wordテンプレートで「Segoe UI Symbol」などのフォントを使用してください。

画像埋め込みとサイズ

Obsidian/Wiki 形式と標準 Markdown の画像埋め込みをサポートし、サイズ指定(px)も可能です:

![[image.png]]
![[image.png|300]]
![[image.png\|300]]
![alt](image.png =300x200)
![alt](image.png =300x)
![alt|300](image.png)
  • サイズ未指定:元のサイズを使用(ページ/セルの有効幅を上限)
  • サイズ指定:拡大を許可(ただし有効幅の上限は適用)
  • 画像のみ段落:段落スタイル「Image」(中央揃え、単一行間)を使用

リンク処理

Markdown -> DOCX でクリック可能なリンクをサポートします:

[Docwen](https://example.com)
[[Target]]
[[Target|Open target]]
<https://example.com>
<[email protected]>
  • Markdown リンクと Wiki リンクは既定で Word ハイパーリンクとして出力されます
  • Wiki リンクは対象ファイルが見つかった場合、ローカル file:/// リンクに解決されます
  • 山括弧の自動リンクは https://... とメール mailto:... をサポートします
  • 裸 URL の自動リンクは Markdown -> DOCX のリクエストごとに評価され、既定では無効です。configs/link.toml の [non_embed_links].auto_link_bare_url で有効化できます
  • Markdown -> XLSX では DOCX 用のハイパーリンク占位符を生成せず、元のリンク記法を保持します

📖 詳細な使用ガイド

WordからMarkdownへ

  1. .docx ファイルをプログラムウィンドウにドラッグします。
  2. 出力オプションを選び、Markdownをエクスポートをクリックします。
  3. YAMLメタデータを含む .md ファイルを生成します。

サポートされている形式:

  • .docx - 標準Wordドキュメント。
  • .doc - 処理のために自動的に生成 DOCXされます。
  • .wps - WPSドキュメントは自動的に変換されます。
  • .rtf、.odt - DOCX に変換してから処理します。.doc、.wps と同様、対応するローカル Office 変換ソフトが必要です。

エクスポートオプション:

オプション 説明
画像を抽出 チェックすると、ドキュメント内の画像が出力フォルダに抽出され、画像リンクがMDファイルに挿入されます。
画像OCR 画像内の文字を認識します。OCRの出力先設定に応じて、画像ごとのMarkdownファイルかメインのMarkdownファイルに保存します。
ドキュメントタイプに合わせて最適化 選択した文書の種類に応じた最適化を適用します。たとえば、中国の公文書からフィールドを抽出できます。無効にすると標準の変換を使用します。 組み込みの中国公文書・中国の請求書向けエクスポート最適化は、簡体字中国語の画面(zh_CN)で、対応する入力経路がある場合にのみ GUI で選択できます。この GUI の制限は、CLI/Machine での gongwen または invoice_cn の明示的な選択を妨げません。
元のドキュメント見出し番号を削除 チェックすると、小見出しの前の番号(例:「一、」、「(一)」、「1.」など)を削除し、純粋なタイトルテキストに変換します。
新しい見出し番号を追加 チェックすると、見出しレベルに基づいて自動的に番号を追加します(番号付けスキームは設定で構成可能)。

Word/WPSのアウトライン番号で作られた見出し番号は、エクスポート時に保持されます。元のドキュメント見出し番号を削除を有効にすると、見出しレベルを保ったまま番号を削除できます。

MarkdownからWordへ

  1. YAMLヘッダー付きの .md ファイルを準備します。
  2. プログラムウィンドウにドラッグし、対応するWordテンプレートを選択します。
  3. 出力形式をDOCXに設定し、生成 DOCXをクリックすると、テンプレートに内容を入れて文書を保存します。

変換オプション:

オプション 説明
元のMarkdown見出し番号を削除 チェックすると、小見出しの前の番号を削除します。
新しい見出し番号を追加 チェックすると、見出しレベルに基づいて自動的に番号を追加します。

注:文書で小見出しと本文が混在している段落がある場合、MDファイルで厳密な改行を維持する必要があります(上記の「改行と段落」を参照)。

自動テンプレートスタイル処理

コンバーターは、Markdown → DOCX変換中にテンプレートスタイルを自動的に検出して処理します:

スタイル分類

段落スタイル:段落全体に適用されます。

スタイル 検出動作 不足時の注入 ソース
見出し (1~9) 段落スタイルを検出 テンプレート見出しスタイル Word組み込み
コードブロック 段落スタイルを検出 Consolasフォント + 灰色背景 ソフトウェア定義
引用 (1~9) 段落スタイルを検出 灰色背景 + 左境界線 ソフトウェア定義
数式ブロック 段落スタイルを検出 数式固有のスタイル ソフトウェア定義
セパレーター (1~3) 段落スタイルを検出 下境界線段落スタイル ソフトウェア定義

文字スタイル:選択したテキストに適用されます。

スタイル 検出動作 不足時の注入 ソース
インラインコード 文字スタイルを検出 Consolasフォント + 灰色網掛け ソフトウェア定義
インライン数式 文字スタイルを検出 数式固有のスタイル ソフトウェア定義

テーブルスタイル:テーブル全体に適用されます。

スタイル 検出動作 不足時の注入 ソース
三線表 ユーザー設定優先 三線表スタイル定義 ソフトウェア定義
グリッド表 ユーザー設定優先 グリッド表スタイル定義 ソフトウェア定義

番号付け定義:リスト形式に使用されます。

タイプ 検出動作 不足時の処理
リスト番号付け テンプレート内の既存の順序付き/順序なしリスト定義をスキャン 10進数/箇条書きプリセットを使用

スタイル名の国際化

  • Word組み込みスタイル(見出し 1~9):
    • スタイル名はWord標準の英語名(例:heading 1)を使用します。
    • Wordはシステム言語に基づいてローカライズされた名前を自動的に表示します(例:日本語システムでは「見出し 1」)。
  • ソフトウェア定義スタイル(コードブロック、引用、数式、セパレーター、テーブルなど):
    • 新しく生成する管理対象スタイル名は画面表示言語ではなく、一般設定のタスク出力言語に従います。表示言語を変えても既存のテンプレートスタイルは改名されません。

提案:テンプレートでスタイルをカスタマイズした後、コンバーターは自動的にあなたのスタイルを使用します。テンプレートに存在しない場合は、組み込みのプリセットスタイルを使用します。

スプレッドシートファイル処理

  1. Excel/CSVからMarkdownへ:.xlsxまたは.csvファイルを追加し、Markdownをエクスポートをクリックします。
  2. MarkdownからExcelへ:Markdown 表は XLSX に出力できます。テンプレートは YAML フィールド、表列・画像プレースホルダー、結合セルと保護セルをサポートします。

サポートされている形式:

  • .xlsx - 標準Excelドキュメント。
  • .xls - 処理のために自動的にXLSXに変換されます。
  • .et - WPSスプレッドシートは自動的に変換されます。
  • .csv - CSVテキストテーブル。
  • .tsv - TSV タブ区切りテーブル。

テキスト校正機能

プログラムは4つのカスタマイズ可能な校正ルールを提供します:

  1. 句読点ペアリングチェック - 括弧や引用符などのペアの句読点が一致するかどうかを検出します。
  2. 記号校正 - 中国語と英語の句読点の混在を検出します。
  3. 誤字チェック - カスタム辞書に基づいて一般的な誤字をチェックします。
  4. 機密用語検出 - カスタム辞書に基づいて機密用語を検出します。

カスタム辞書:「設定」インターフェースで誤字と機密用語の辞書を視覚的に編集します。

使用法:

  1. 校正するWordドキュメントまたはMarkdownファイルをプログラムにドラッグします。
  2. 必要な校正ルールをチェックします。
  3. 「テキスト校正」ボタンをクリックします。
  4. 校正結果はドキュメント内にコメントとして表示されます。Markdownファイルの場合はJSONレポートが出力されます。

補足(Markdown 校正 JSON レポート):

  • エンジン:text_rules + Markdown アダプタ md_spell
  • 出力方法:現在の CLI 校正入口は validate です。CLI エンベロープには --json を使用します。--report は省略可能なレポートファイルのパスです。

🛠️ テンプレートシステム

既存のテンプレートの使用

設定 → テンプレートで DOCX/XLSX テンプレートの有効・無効、並び順、既定値を管理します。内蔵テンプレートは読み取り専用で、カスタムテンプレートはユーザーが書き込める場所に保存されます。MSIX でも WindowsApps の変更は不要です。

カスタムテンプレート

  1. 内蔵テンプレートをコピーして編集するか、既存の DOCX/XLSX ファイルをインポートします。
  2. Word、Excel、WPS でコピーの内容、スタイル、プレースホルダーを編集します。規則は以下を参照してください。
  3. 保存して DocWen の一覧を更新します。再起動は不要です。

プレースホルダーの使用

Wordテンプレートプレースホルダー

YAMLフィールドプレースホルダー:テンプレートで {{フィールド名}} 形式を使用します。これは、変換中にMarkdownファイルのYAMLヘッダーの対応する値に置き換えられます。

プレースホルダー 説明
{{Title}} ドキュメントタイトル(取得ルール、下記参照)
{{Body}} Markdown本文コンテンツ挿入位置
その他 任意のカスタムフィールドをサポート

タイトル取得優先順位:

優先順位 ソース 説明
1 YAML Title フィールド 最高優先順位
2 YAML aliases フィールド リストの最初の要素、または文字列値を取得
3 ファイル名 拡張子 .md なしのファイル名

多言語サポート:タイトルと本文のプレースホルダーは多言語に対応しています。例:タイトルは {{title}}、{{标题}}、{{Titel}} 等、本文は {{body}}、{{正文}}、{{Inhalt}} 等が使用可能です。

Excelテンプレートプレースホルダー

XLSX テンプレートは YAML フィールド、縦方向の {{↓フィールド}} と横方向の {{→フィールド}}、画像プレースホルダー、結合セルと保護セルをサポートします。

1. YAMLフィールドプレースホルダー {{フィールド名}}

MarkdownファイルのYAMLヘッダーから単一の値を入力するために使用されます:

---
ReportName: 2024年年間売上統計
Unit: 営業部
---

テンプレート内の {{ReportName}}, {{Unit}} は対応する値に置き換えられます。タイトルフィールドも優先順位に従って取得されます。

2. 列埋め込みプレースホルダー {{↓フィールド名}}

Markdownテーブルからデータを抽出し、プレースホルダー位置から行ごとに 下方向 に入力します:

| ProductName | Quantity |
|:--- |:--- |
| 製品A | 100 |
| 製品B | 200 |

Excelテンプレート内の {{↓ProductName}} は「製品A」に置き換えられ、次の行は「製品B」で埋められます。

3. 行埋め込みプレースホルダー {{→フィールド名}}

Markdownテーブルからデータを抽出し、プレースホルダー位置から列ごとに 右方向 に入力します:

| Month |
|:--- |
| 1月 |
| 2月 |
| 3月 |

Excelテンプレート内の {{→Month}} は、右方向に「1月」、「2月」、「3月」と順に入力されます。

結合セルの処理:

  • Markdown -> Excel では、テンプレートに元からある merged ranges をそのまま保持します。
  • 連続した {{↓フィールド名}} プレースホルダーで構成された既知の縦方向テンプレート領域では、Markdown テーブル中の明示的な < / ^ 結合マーカーから矩形の結合を復元できます。
  • 前後の空白を除去した内容が厳密に < または ^ と一致するセルだけが結合判定に参加し、\< と \^ はリテラル文字として保持されます。
  • 不正な矩形やテンプレート既存の merged ranges との競合がある場合は、テンプレート構造を強制的に上書きせず、警告を記録して通常のテキストに降格します。

複数テーブルデータのマージ:Markdownに同じヘッダー名を使用する複数のテーブルがある場合、データは順番にマージされ、順次入力されます。

🔌 Obsidianプラグイン

コンバーターと連携する Obsidian プラグインは別リポジトリで公開されています:

主な機能

  • 🚀 ワンクリック起動 - サイドバーアイコンでコンバーターをすばやく起動。
  • 📂 自動ハンドオーバー - 現在開いているファイルパスを自動的に渡します。
  • 🔄 開いているウィンドウを使う - 変換ツールを再起動せずに、別のファイルを開けます。

プラグインの使い方

DocWen Assistant は Windows と Linux のデスクトップ環境をサポートします。Windows の Microsoft Store 版は自動検出を利用でき、Linux では互換性のある展開済みパッケージを手動で選択します。Assistant は現在 macOS をサポートしていません。

  1. 最初のクリック → 変換ツールを起動し、現在のファイルを開きます。
  2. ファイルを開いた状態で再度クリック → 現在の入力ファイルを、そのファイルに置き換えます(単一ファイルモード)。
  3. ファイルを開かずに再度クリック → 変換ツールのウィンドウを最前面に表示します。

インストール

DocWen 本体を別途インストールし、対応する公開済み DocWen Assistant リリースを選んでください。プラグインは本体をインストールしません。互換バージョンはガイドの固定番号ではなくリリースの説明で確認してください。連携には Machine Protocol v2 と Artifact Bundle v3 を使います。

🔌 OpenClaw (Plugin + Skill)

docwen-openclaw は、別途インストールした DocWen で OpenClaw からローカルファイルを変換・校正します。公開済みリリースで対応バージョンを確認してください。開発用契約は Machine Protocol v2 と Artifact Bundle v3 にあります。

❓ よくある質問 (FAQ)

変換に失敗した場合は?

  • ファイルが別のプログラムによって使用されていないか確認してください。
  • ファイル形式が正しいことを確認してください。
  • 設定画面の「現在の実際のログファイルパス」を確認するか、システムのユーザーログディレクトリでエラーログを確認してください。パッケージ検証で DOCWEN_LOG_DIR を使っている場合は、その上書き先ディレクトリを確認してください。

テンプレートが表示されない?

  • 設定 → テンプレートで有効になっているか、出力形式と一致するか確認してください。
  • DOCX/XLSX ファイルが正常に開けるか確認してください。
  • 外部で変更した後は一覧を更新し、新しいファイルはインポートしてください。

校正機能が機能しない?

  • CLI の validate は .md と .docx を直接検査します。.doc、.wps、.rtf、.odt も受け付けますが、利用可能なローカル Office ソフトで先に DOCX に変換します。失敗した場合は変換環境を確認してください。
  • ドキュメントに編集可能なテキストが含まれているか確認してください。
  • 設定で校正ルールが有効になっていることを確認してください。

出力形式が期待通りでない?

  • 設定 → テンプレートを開きます。内蔵テンプレートはコピーしてから、カスタムテンプレートは直接編集できます。
  • Word、Excel、WPS でスタイルを調整し、保存後に一覧を更新します。
  • 新しいファイルを生成する前に、そのカスタムテンプレートを選択します。

Excel から Markdown への変換後、数式セルが空になる?

これは予想される動作です。プログラムは数式自体ではなく、セルのキャッシュ値を読み取ります。

技術的な理由:

  • Excel ファイルでは、数式セルは数式と最後に計算された結果(キャッシュ値)の両方を保存します。
  • プログラムは data_only=True モードを使用し、キャッシュ値のみを取得します。
  • ファイルが Excel で一度も開かれたことがない場合(例:プログラムで生成された場合)、または編集後に再保存されていない場合、キャッシュ値は空になります。

解決方法:

  1. Excel でファイルを開きます。
  2. 数式の計算が完了するまで待ちます。
  3. ファイルを保存します。
  4. 再度変換します。

🔒 セキュリティ機能

DocWenはお使いのコンピューターでファイルを処理します。ファイルのアップロード、テレメトリ送信、オンラインダウンロード、ネットワークサービスの機能はありません。DocWen自身のPythonコンポーネントによるネットワークアクセスを制限し、この保護を有効にできない場合は実行を続けません。

別に起動したWord/Office、WPS、LibreOfficeなどのプログラムと関連する補助プロセスは、それぞれの設定とシステムのネットワーク設定に従います。この制限の対象ではないため、機密ファイルを扱う場合は、これらの設定も確認してください。

保護の仕組みと制限についてはアーキテクチャの説明を参照してください。起動や変換に失敗した場合はトラブルシューティングを確認できます。

📜 ライセンス

このプロジェクトは GNU Affero General Public License v3.0 (AGPL-3.0) の下でライセンスされています。

License: AGPL v3

  • このプロジェクトはPyMuPDF(AGPL-3.0ライセンス)を使用しているため、プロジェクト全体もAGPL-3.0の下でライセンスされます。
  • 現在の GUI では、対応するホスト経路で PySide6-Fluent-Widgets(QFluentWidgets)を利用できます。この依存は GPLv3 / 商用ライセンス のデュアルライセンスであり、本リポジトリ自体は引き続き AGPL で配布されます。
  • このソフトウェアを自由に使用、変更、配布できます。
  • このソフトウェアを変更してネットワーク経由でサービスを提供する場合、変更されたソースコードをユーザーに提供する必要があります。
  • 詳細なライセンス情報については、LICENSE ファイルを参照してください。
  • サードパーティコンポーネントのライセンス一覧は LICENSE_THIRD_PARTY.txt、配布時の要約は NOTICE.txt を参照してください。

連絡先


著者: ZhengYX

関連プロジェクトを探す