mcpField
T
translate-pdf

translate-pdf

github.com/wshuyiDocuments241.2k installsUpdated 43w ago
Repository

About translate-pdf

A command-line PDF translation skill that extracts text, applies a supplied translation mapping, and aims to preserve document styling and structure. It is suited to translating PDFs while retaining their visual presentation.

Key features

  1. 01Extract unique PDF text
  2. 02Apply JSON translation mappings
  3. 03Language-specific font options
  4. 04Preserve backgrounds with transparent fill
  5. 05Add language suffix to output filename

Use cases

  1. 01Preparing extracted PDF text for translation
  2. 02Creating translated PDF copies
  3. 03Translating PDFs into supported CJK languages
  4. 04Retaining original background colors

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wshuyi/translate-pdf-skill --skill translate-pdf

After installing, type/translate-pdfin Claude Code to confirm it loaded.

Bundled filesscripts/extract_texts.pyscripts/translate_pdf.py

Details

From the project README

PDF Translation

Translate PDF text while preserving structure, colors, and background styling.

Workflow

Step 1: Extract texts
python {skill_path}/scripts/extract_texts.py <input.pdf>

Review output to see all unique text strings in the PDF.

Step 2: Create translation mapping

Translate each text to target language. Create JSON file:

{
  "Original Text 1": "Translated 1",
  "Original Text 2": "Translated 2"
}

Save as translations.json next to input PDF.

Step 3: Apply translations
python {skill_path}/scripts/translate_pdf.py <input.pdf> translations.json <output.pdf> --font <fontname>

Font options:

FontLanguage
helvLatin (English, Spanish, Portuguese, French, German, etc.)
china-ssSimplified Chinese
china-tsTraditional Chinese
japanJapanese
koreaKorean

Output naming

Append language suffix: filename_EN.pdf, filename_ZH.pdf, filename_JA.pdf

Tips

  • Keep proper nouns, abbreviations, technical terms unchanged when appropriate
  • CJK fonts auto-scale to 90% for better fit
  • Use transparent fill to preserve original background colors

Comments

Markdown supported