mcpField
D
document-converter

document-converter

github.com/ericgandradeドキュメント8582 回インストール24 週間前に更新
リポジトリ

document-converter について

ローカルのオフラインツールで文書形式の変換やPDF処理を行うスキルです。APIやインターネットに依存しない作業向けで、Office文書、PDF操作、画像変換、OCRに対応し、利用前に必要なツールを確認します。

主な機能

  1. 01Office文書をPDFまたはHTMLに変換
  2. 02PDFページと画像の相互変換
  3. 03PDFの結合、分割、回転
  4. 04PDFの暗号化と解除
  5. 05スキャン文書のOCR

活用シーン

  1. 01プレゼンテーションを一括でPDF化
  2. 02PDFの結合やページ範囲の抽出
  3. 03PDFページを画像として出力
  4. 04スキャンから検索可能なテキストを抽出

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ericgandrade/claude-superskills --skill document-converter

インストール後、Claude Code で/document-converterを入力して読み込まれたか確認します。

同梱ファイルREADME.md

詳細

document-converter

目的

ローカルで利用できる無料のオフラインツールを使用して、ドキュメントの形式を変換したり、PDF を操作したりします。API キーも費用もインターネット接続も不要です。LibreOffice、ghostscript、pdftk、tesseract、imagemagick を使用し、Office 形式の変換、PDF の編集、画像からの PDF 作成、OCR に対応しています。

使用する場面

  • Office ドキュメント(DOCX、PPTX、XLSX、ODP、ODT)を PDF または HTML に変換する場合
  • PDF のページを画像(PNG、JPG、TIFF)に変換する場合、または画像を PDF に変換する場合
  • PDF 操作:複数の PDF の結合、ページ範囲による分割、ページの回転、暗号化または復号
  • OCR:スキャンした PDF や画像ファイルから検索可能なテキストを抽出する場合
  • 動画や音声を含まないドキュメント形式の変換全般

次の用途には使用しないでください:

  • 動画や音声の形式変換(専用のメディアスキルを使用してください)
  • プログラミング言語間でのコード変換
  • 単純な Markdown → HTML の変換(pandoc を直接使用してください)
  • PDF からの構造化テキストの抽出(代わりに docling-converter を使用してください)

ステップ 0:検出 — 利用可能なツールを確認する

変換を行う前に、インストール済みのツールを検出し、オペレーティングシステムを特定してください。

# Detect OS
uname -s   # Darwin = macOS, Linux = Linux; on Windows use 'ver' or check $OS

# Check each tool
libreoffice --version 2>/dev/null || echo "NOT FOUND"
gs --version 2>/dev/null || echo "NOT FOUND"
pdftk --version 2>/dev/null || echo "NOT FOUND"
tesseract --version 2>/dev/null || echo "NOT FOUND"
convert -version 2>/dev/null || echo "NOT FOUND"   # ImageMagick

必要なツールが見つからない場合は、続行する前にユーザーの OS に応じたインストールコマンドを提示してください。

ツールmacOSLinux (apt)Windows
LibreOfficebrew install --cask libreofficesudo apt install libreofficewinget install TheDocumentFoundation.LibreOffice
Ghostscriptbrew install ghostscriptsudo apt install ghostscriptwinget install ArtifexSoftware.GhostScript
pdftkbrew install pdftk-javasudo apt install pdftkwinget install PDFTechnologies.PDFtk
Tesseractbrew install tesseractsudo apt install tesseract-ocrwinget install UB-Mannheim.TesseractOCR
ImageMagickbrew install imagemagicksudo apt install imagemagickwinget install ImageMagick.ImageMagick

ユーザーが Windows を使用していて Microsoft Office がインストールされている場合、LibreOffice と Office は DOCX/PPTX/XLSX について同等の結果を生成することを伝えてください。COM オートメーションを使用する Office は、高度な代替手段です。

ワークフロー

Office ドキュメント → PDF(最も一般的)

LibreOffice のヘッドレスモードを使用します。DOCX、PPTX、XLSX、ODP、ODT、および LibreOffice で開けるすべての形式に対応しています。

# Convert single file to PDF in the same directory
libreoffice --headless --convert-to pdf "/path/to/file.pptx" --outdir "/path/to/output/"

# Convert to HTML
libreoffice --headless --convert-to html "/path/to/file.docx" --outdir "/path/to/output/"

# Batch: convert all PPTX in a directory
libreoffice --headless --convert-to pdf /path/to/folder/*.pptx --outdir /path/to/output/

注意:

  • 出力ファイルは --outdir に、元ファイルと同じベース名および新しい拡張子で保存されます
  • 一括処理では、libreoffice プロセスを 1 つだけ実行してください。複数のインスタンスを並列に起動しないでください(LibreOffice は単一のユーザープロファイルロックを使用します)
  • LibreOffice が GUI アプリとして開いている場合は、先に閉じるか、--norestore フラグを使用してください
PDF → 画像/画像 → PDF

画像と PDF の相互変換には ImageMagick を使用します。

# PDF pages → PNG (one file per page)
convert -density 150 "/path/to/doc.pdf" "/path/to/output/page_%03d.png"

# PDF pages → JPG with quality control
convert -density 150 "/path/to/doc.pdf" -quality 85 "/path/to/output/page_%03d.jpg"

# Single image → PDF
convert "/path/to/image.png" "/path/to/output/document.pdf"

# Multiple images → single PDF
convert img1.png img2.jpg img3.tiff "/path/to/output/combined.pdf"

注:システムによっては、ImageMagick の PDF サポートに ghostscript が必要です。ポリシーエラーで変換に失敗する場合は、/etc/ImageMagick-*/policy.xml を確認し、PDF が制限されていないことを確かめてください。

PDF 操作 — 結合、分割、回転

利用可能な場合は pdftk を優先してください(構文がより簡潔です)。pdftk がインストールされていない場合は ghostscript に切り替えてください。

PDF の結合:

# pdftk (preferred)
pdftk file1.pdf file2.pdf file3.pdf cat output merged.pdf

# ghostscript (fallback)
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf file1.pdf file2.pdf file3.pdf

ページ範囲を指定した PDF の分割:

# pdftk — extract pages 1-3 and 5
pdftk input.pdf cat 1-3 5 output extracted.pdf

# ghostscript — extract pages 2 to 5
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dFirstPage=2 -dLastPage=5 -sOutputFile=extracted.pdf input.pdf

ページの回転:

# pdftk — rotate all pages 90° clockwise
pdftk input.pdf rotate 1-endeast output rotated.pdf

# pdftk — rotate specific page (page 3) 180°
pdftk input.pdf rotate 3south output rotated.pdf

PDF の暗号化(パスワードを追加):

pdftk input.pdf output secured.pdf user_pw "userpass" owner_pw "ownerpass"

PDF の復号(パスワードを削除):

pdftk secured.pdf input_pw "password" output decrypted.pdf
OCR — スキャンしたドキュメントからテキストを抽出する

Tesseract を使用します。入力には画像(PNG、JPG、TIFF)、または事前に ImageMagick でラスタライズできる PDF を指定してください。

# OCR a single image → searchable text file
tesseract "/path/to/scan.png" "/path/to/output/result"
# Output: result.txt

# OCR with language specification (Portuguese example)
tesseract "/path/to/scan.png" output -l por

# OCR → searchable PDF (requires tesseract with pdf support)
tesseract "/path/to/scan.png" output -l eng pdf
# Output: output.pdf

# OCR a scanned PDF: rasterize first, then OCR
convert -density 300 "scan.pdf" "scan_page_%03d.tiff"
tesseract "scan_page_000.tiff" output -l eng pdf

複数ページのスキャン済み PDF の場合:

# Rasterize all pages
convert -density 300 "scan.pdf" "page_%03d.tiff"

# OCR each page and merge results
for f in page_*.tiff; do
  tesseract "$f" "${f%.tiff}" -l eng pdf
done
pdftk page_*.pdf cat output final_ocr.pdf

ツール選択の判断表

タスク主なツール代替ツール
Office → PDFLibreOfficeなし(LibreOffice が標準です)
Office → HTMLLibreOfficeなし
PDF → 画像ImageMagickghostscript(gs -sDEVICE=png16m)
画像 → PDFImageMagickghostscript
PDF の結合pdftkghostscript
PDF の分割pdftkghostscript
PDF の回転pdftkghostscript
PDF の暗号化pdftkなし
PDF の復号pdftkなし
OCRtesseractなし

比較:document-converter と代替ツールの使い分け

ツール最適な用途
document-converterOffice → PDF、PDF 操作(結合/分割/回転/暗号化)、OCR、画像 ↔ PDF
docling-converterPDF/Office → 構造化された Markdown または JSON、レイアウトを考慮したコンテンツ抽出
pandocMarkdown ↔ HTML ↔ LaTeX ↔ DOCX、軽量なテキスト形式の変換
pptx-translatorPowerPoint ファイルの言語間翻訳

重要なルール

  • LibreOffice のバッチ変換を複数のプロセスで並列に開始しないでください。LibreOffice は単一のユーザープロファイルロックを使用するため、並列インスタンスはクラッシュします
  • ツールを呼び出す前に、必ずステップ 0 の確認を実行して必要なツールがインストールされていることを確認してください
  • ツールが見つからない場合は、必ずユーザーの OS に合ったインストールコマンドを提示してください
  • cloudconvert、外部 API、有料サービスは使用しないでください。このスキルは完全にオフラインで動作します
  • 両方が利用可能な場合、PDF 操作には必ず ghostscript より pdftk を優先してください(構文がよりシンプルで安全です)
  • 予期しない場所にファイルが書き込まれないよう、必ず出力ディレクトリを明示してください

使用例

PPTX を PDF に変換:

libreoffice --headless --convert-to pdf presentation.pptx --outdir ./output/

3 つの PDF を結合:

pdftk report.pdf appendix.pdf cover.pdf cat output final.pdf

スキャン画像を OCR 処理(ポルトガル語):

tesseract scan.png resultado -l por

PDF のページを PNG 画像に変換:

convert -density 150 document.pdf page_%03d.png

PDF を暗号化:

pdftk sensitive.pdf output protected.pdf user_pw "secret123"

コメント