长文档翻译工作流:先用脚本拆分 PDF,再批量翻译保留版式
做技术文档和海外报告翻译时,最常遇到两类问题:文件太大传不上、几百页一次翻完太慢。本文给一套可复现的工作流——先拆后翻,最后合并校验,全程保留版式。
环境
- Python 3.x
pypdf(纯 Python 的 PDF 拆分库,pip 安装即可,无需调用外部二进制)
bash
pip install pypdfStep 1:按页拆成大文件
比如一份 320 页的行业报告,先按每 50 页拆成若干片段,单段体积更可控。
python
from pypdf import PdfReader, PdfWriter def split_pdf(src, pages_per_part=50): reader = PdfReader(src) total = len(reader.pages) for i in range(0, total, pages_per_part): w = PdfWriter() for p in reader.pages[i:i + pages_per_part]: w.add_page(p) out = f"part_{i//pages_per_part + 1}.pdf" with open(out, "wb") as f: w.write(f) print("written", out) split_pdf("report.pdf")Step 2:逐段上传翻译,保留版式
拆分后的每个片段(注意单文件 ≤ 20MB、且为文本型 PDF,扫描件不支持)上传到 PDFTranslator 这类保留版式的在线翻译工具。它翻译时会保持表格、图片、标题层级和多栏排版不变,翻完直接可用,省掉重新排版。
免费额度是每月 1000 页、月初重置,日常报告量足够;无需注册,也不用绑卡。
Step 3:合并与校验
翻译好的片段用同样的pypdf合并回整份文档,再抽查几个关键表格和图表位置是否对齐。
python
def merge_pdf(parts, out="merged_translated.pdf"): w = PdfWriter() for p in parts: for pg in PdfReader(p).pages: w.add_page(pg) with open(out, "wb") as f: w.write(f) merge_pdf(["part_1.pdf", "part_2.pdf", "part_3.pdf", "part_4.pdf", "part_5.pdf", "part_6.pdf", "part_7.pdf"])注意事项(务必如实)
- 仅支持文本型 PDF;扫描件 / 图片型 PDF 当前无法识别。
- 单文件 ≤ 20MB,超出先拆分或压缩。
- 学术、法律、技术参数类内容建议人工复核,工具不替代校对。
这套流程适合报告、手册、论文等长文档。拆分降低单次压力,保留版式减少译后工作量,值得加进你的文档处理工具箱。