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
- 01Extract unique PDF text
- 02Apply JSON translation mappings
- 03Language-specific font options
- 04Preserve backgrounds with transparent fill
- 05Add language suffix to output filename
Use cases
- 01Preparing extracted PDF text for translation
- 02Creating translated PDF copies
- 03Translating PDFs into supported CJK languages
- 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-pdfAfter installing, type/translate-pdfin Claude Code to confirm it loaded.
Bundled filesscripts/extract_texts.pyscripts/translate_pdf.py
Details
From the project READMEPDF 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:
| Font | Language |
|---|---|
helv | Latin (English, Spanish, Portuguese, French, German, etc.) |
china-ss | Simplified Chinese |
china-ts | Traditional Chinese |
japan | Japanese |
korea | Korean |
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