docx について
docx は、Word 文書の作成、編集、読み取り、分析を行うスキルです。DOCX のテキストや XML の確認、文書生成、変更履歴を残すレビュー、画像化による確認の手順を提供します。
主な機能
- 01pandoc による文書テキスト抽出
- 02XML による文書構造の確認
- 03docx-js による DOCX 作成
- 04OOXML 文書の編集
- 05変更履歴付きのレビュー
- 06ページの画像変換
活用シーン
- 01DOCX から本文と変更履歴を抽出
- 02Word 文書を新規作成
- 03正式文書にレビュー可能な修正を追加
- 04画像で文書ページを確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ henkisdabro/ wookstar-claude-plugins --skill docxインストール後、Claude Code で/docxを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
docx-js.mdLICENSE.txtooxml.mdooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsdopc-coreProperties.xsdopc-digSig.xsdopc-relationships.xsdooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsddml-chartDrawing.xsddml-diagram.xsddml-lockedCanvas.xsddml-main.xsddml-picture.xsddml-spreadsheetDrawing.xsddml-wordprocessingDrawing.xsdpml.xsdshared-additionalCharacteristics.xsdshared-bibliography.xsdshared-commonSimpleTypes.xsdshared-customXmlDataProperties.xsdshared-customXmlSchemaProperties.xsdshared-documentPropertiesCustom.xsdshared-documentPropertiesExtended.xsdshared-documentPropertiesVariantTypes.xsdshared-math.xsdshared-relationshipReference.xsdsml.xsdvml-main.xsdvml-officeDrawing.xsdvml-presentationDrawing.xsd詳細
DOCX の作成、編集、分析
概要
ユーザーから、.docx ファイルの内容を作成、編集、または分析するよう依頼されることがあります。.docx ファイルは基本的に、読み取りや編集が可能な XML ファイルやその他のリソースを含む ZIP アーカイブです。タスクに応じて、さまざまなツールやワークフローを利用できます。
ワークフローの選択ツリー
内容の読み取り・分析
以下の「テキストの抽出」または「生の XML へのアクセス」セクションを使用します。
新規ドキュメントの作成
「新しい Word ドキュメントの作成」ワークフローを使用します。
既存ドキュメントの編集
-
自分のドキュメント+簡単な変更 「基本的な OOXML の編集」ワークフローを使用します。
-
他の人のドキュメント 「変更履歴を使った編集」ワークフローを使用します(推奨される既定の方法)。
-
法務、学術、ビジネス、または政府関連の文書 「変更履歴を使った編集」ワークフローを使用します(必須)。
内容の読み取りと分析
テキストの抽出
ドキュメントのテキスト内容を読むだけであれば、pandoc を使用してドキュメントを Markdown に変換してください。Pandoc はドキュメント構造の保持に優れており、変更履歴も表示できます。
# Convert document to markdown with tracked changes
pandoc --track-changes=all path-to-file.docx -o output.md
# Options: --track-changes=accept/reject/all
生の XML へのアクセス
コメント、複雑な書式設定、ドキュメント構造、埋め込みメディア、メタデータを扱う場合は、生の XML にアクセスする必要があります。これらの機能を使うには、ドキュメントを展開して生の XML の内容を読み取る必要があります。
ファイルの展開
python ooxml/scripts/unpack.py <office_file> <output_directory>
主なファイル構成
word/document.xml- メインのドキュメント内容word/comments.xml- document.xml 内で参照されているコメントword/media/- 埋め込み画像およびメディアファイル- 変更履歴では、
<w:ins>(挿入)タグと<w:del>(削除)タグが使用されます
新しい Word ドキュメントの作成
新しい Word ドキュメントをゼロから作成する場合は、JavaScript/TypeScript で Word ドキュメントを作成できる docx-js を使用してください。
ワークフロー
- 必須 - ファイル全体を読む:
docx-js.md(約500行)を最初から最後まで完全に読んでください。このファイルを読む際に、範囲を指定してはいけません。 ドキュメントの作成を始める前に、詳細な構文、重要な書式設定ルール、ベストプラクティスを確認するため、ファイルの内容をすべて読んでください。 - Document、Paragraph、TextRun コンポーネントを使用して JavaScript/TypeScript ファイルを作成します(すべての依存関係がインストール済みと想定できます。インストールされていない場合は、以下の依存関係セクションを参照してください)。
- Packer.toBuffer() を使用して .docx としてエクスポートします。
既存の Word ドキュメントの編集
既存の Word ドキュメントを編集する場合は、Document ライブラリ(OOXML 操作用の Python ライブラリ)を使用してください。このライブラリはインフラストラクチャのセットアップを自動的に処理し、ドキュメントを操作するメソッドを提供します。複雑なケースでは、ライブラリを通じて基盤となる DOM に直接アクセスできます。
ワークフロー
- 必須 - ファイル全体を読む:
ooxml.md(約600行)を最初から最後まで完全に読んでください。このファイルを読む際に、範囲を指定してはいけません。 Document ライブラリの API と、ドキュメントファイルを直接編集するための XML パターンを確認するため、ファイルの内容をすべて読んでください。 - ドキュメントを展開します:
python ooxml/scripts/unpack.py <office_file> <output_directory> - Document ライブラリを使用して Python スクリプトを作成し、実行します(ooxml.md の「Document Library」セクションを参照)。
- 完成したドキュメントをパックします:
python ooxml/scripts/pack.py <input_directory> <office_file>
Document ライブラリは、一般的な操作向けの高レベルメソッドと、複雑なケース向けの DOM への直接アクセスの両方を提供します。
ドキュメントレビューのための変更履歴ワークフロー
他の人のドキュメントや、正式な文書・業務文書を編集する際は、このワークフローを使用します。変更履歴(赤入れ)を適用することで、ドキュメントの所有者が個々の変更を確認し、承認または却下できるようにします。
重要な原則:変更は3~10件ずつのバッチにまとめます。実際に変更するテキストだけに変更履歴を付けます。単語だけを変更する場合に、文全体を置き換えることは避けてください。変更のないテキストの元のラン RSID は保持します。
必須:作業を始める前に、references/redlining-workflow.md に記載されたワークフロー全体を読み、手順、バッチ処理の戦略、例を含む最小限の編集の原則、検証手順を確認してください。
手順の概要:Markdown に変換し、変更を特定してグループ化し、ooxml.md を読み、ドキュメントを展開し、Document ライブラリを使用してバッチごとに変更を適用し、結果をパッケージ化して、すべての変更を検証します。
ドキュメントを画像に変換する
Word ドキュメントを視覚的に分析するには、次の2段階の手順で画像に変換します。
-
DOCX を PDF に変換:
soffice --headless --convert-to pdf document.docx -
PDF の各ページを JPEG 画像に変換:
pdftoppm -jpeg -r 150 document.pdf pagepage-1.jpg、page-2.jpgなどのファイルが作成されます。
オプション:
-r 150:解像度を150 DPIに設定します(品質とファイルサイズのバランスに応じて調整してください)-jpeg:出力形式を JPEG に設定します(PNG がよい場合は-pngを使用してください)-f N:変換する最初のページ(例:-f 2は2ページ目から開始します)-l N:変換する最後のページ(例:-l 5は5ページ目で終了します)page:出力ファイルのプレフィックス
特定の範囲を指定する例:
pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page # Converts only pages 2-5
コードスタイルガイドライン
重要:DOCX 操作用のコードを生成する際は、次の点に従ってください。
- 簡潔なコードを書く
- 冗長な変数名や不要な処理を避ける
- 不要な print 文を避ける
依存関係
必要な依存関係(利用できない場合はインストールしてください)。Linux のコマンドを先に示し、macOS(Homebrew)のコマンドを括弧内に記載しています。
- pandoc:
sudo apt-get install pandoc(macOS:brew install pandoc)- テキストの抽出用 - docx:
npm install -g docx- 新しいドキュメントの作成用 - LibreOffice:
sudo apt-get install libreoffice(macOS:brew install --cask libreoffice)- PDF への変換用 - Poppler:
sudo apt-get install poppler-utils(macOS:brew install poppler)- PDF を画像に変換する pdftoppm 用 - defusedxml:
pip install defusedxml- 安全な XML 解析用