Agent-native PDF translation workflow based on babeldoc-jobpack. Use this when the task is to translate PDF files by exporting structured paragraph jobs, letting the agent provide translations, then applying translations back into a rendered PDF. Supports job batching (merge/split) and placeholder validation for safer document reconstruction.
Use this skill when a PDF must be translated with stable paragraph IDs and re-rendered.
.venv and install babeldoc-jobpack from PyPI.jobs.json.batches.json.source_text into Chinese and writes translated_batches.json.translations.json.Use jobpack_backend.py to call babeldoc-export-jobs and babeldoc-apply-jobs.
<skill_dir>/.venv..venv.babeldoc-jobpack).It does not require uv.
python3 /absolute/path/to/pdf-jobpack-agent-translate/scripts/jobpack_backend.py \
export /absolute/path/to/input.pdf --job-dir /absolute/path/to/jobpack --lang-in en --lang-out zh
Pack with default batching heuristics:
python3 /absolute/path/to/pdf-jobpack-agent-translate/scripts/pack_jobs.py \
/absolute/path/to/jobpack/jobs.json \
--out /absolute/path/to/jobpack/batches.json
Then the agent must translate batches itself and produce /absolute/path/to/translated_batches.json.
Expected format:
{
"batches": [
{
"batch_id": "b0001",
"translations": [
{ "id": "p0-q0", "translated_text": "中文翻译" }
]
}
]
}
Normalize into id -> translated_text:
python3 /absolute/path/to/pdf-jobpack-agent-translate/scripts/unpack_batch_translations.py \
/absolute/path/to/jobpack/batches.json \
/absolute/path/to/translated_batches.json \
--out /absolute/path/to/jobpack/translations.json
Validate before apply:
python3 /absolute/path/to/pdf-jobpack-agent-translate/scripts/validate_translations.py \
/absolute/path/to/jobpack/jobs.json \
/absolute/path/to/jobpack/translations.json \
--strict
python3 /absolute/path/to/pdf-jobpack-agent-translate/scripts/jobpack_backend.py \
apply /absolute/path/to/jobpack \
--translations /absolute/path/to/jobpack/translations.json \
--output-dir /absolute/path/to/out
Read jobpack-formats.md when constructing or debugging translation payloads.
Edit PDFs with natural-language instructions using the nano-pdf CLI.