影刀RPA 文档翻译自动化:批量翻译Word与PDF内容

发布时间:2026/7/18 3:13:05
影刀RPA 文档翻译自动化:批量翻译Word与PDF内容 影刀RPA 文档翻译自动化批量翻译Word与PDF内容作者林焱什么情况用什么跨境电商团队、外企文档部门经常遇到这个场景老板丢过来30份中文产品说明书要求两天内翻译成英文。找翻译公司贵且慢谷歌翻译网页版一次只能翻5000字来回粘贴耗时又容易出错。影刀RPA的解法读取Word/PDF原文 → 调翻译API百度/谷歌/DeepL→ 写入新文档 → 保持原格式。怎么做第一步读取文档内容Word文档拼多多店群自动化上架方案fromdocximportDocument docDocument(rD:\docs\产品说明书_中文.docx)paragraphs[]forparaindoc.paragraphs:ifpara.text.strip():# 跳过空行paragraphs.append({text:para.text,style:para.style.name,# 保留样式信息bold:para.runs[0].boldifpara.runselseFalse})PDF文档importPyPDF2withopen(rD:\docs\manual.pdf,rb)asf:readerPyPDF2.PdfReader(f)paragraphs[]forpageinreader.pages:textpage.extract_text()paragraphs.append({text:text,page:page.page_number})第二步调用翻译API推荐用DeepL API质量比谷歌百度好尤其专业术语importrequestsdeftranslate_deepl(text,target_langEN):urlhttps://api-free.deepl.com/v2/translateparams{auth_key:your-api-key,text:text,target_lang:target_lang}resprequests.post(url,dataparams)resultresp.json()returnresult[translations][0][text]百度翻译API免费额度够日常用importhashlibimportrandomdeftranslate_baidu(text,from_langzh,to_langen):appidxxxsecretxxxsaltstr(random.randint(32768,65536))signhashlib.md5((appidtextsaltsecret).encode()).hexdigest()urlhttps://fanyi-api.baidu.com/api/trans/vip/translateparams{q:text,from:from_lang,to:to_lang,appid:appid,salt:salt,sign:sign}resprequests.get(url,paramsparams)resultresp.json()returnresult[trans_result][0][dst]踩过的坑单次API调用有字数限制百度2000字符DeepL 5000字符。长文档必须分段发送——建议按段落分段每段独立翻译保证上下文完整。第三步保持格式输出翻译后写回Word尽量保留原格式fromdocximportDocumentfromdocx.sharedimportPt doc_newDocument()forparainparagraphs:translatedtranslate_deepl(para[text])pdoc_new.add_paragraph(translated)# 保持原段落样式ifpara[style]:p.styledoc_new.styles[para[style]]ifpara[bold]:forruninp.runs:run.boldTruedoc_new.save(rD:\docs\产品说明书_English.docx)第四步翻译质量检查自动翻译完后加一个基础检查# 检查1原文和译文段落数是否一致assertlen(paragraphs)len(doc_new.paragraphs),段落数不一致# 检查2关键术语是否正确term_check{规格:Specifications,保修:Warranty,注意事项:Precautions,}forparaindoc_new.paragraphs:forcn,eninterm_check.items():ifcninoriginal_textandennotinpara.text:print(f警告术语{cn}可能未正确翻译)有什么坑坑1专业术语翻译不准“云服务器被翻成cloud server是对的但弹性伸缩翻成elastic scaling就不够专业应该是auto scaling”。建议维护一个术语对照表翻完后自动替换TEMU店群如何管理运营term_map{elastic scaling:Auto Scaling,cloud server:ECS (Elastic Compute Service),}foren_term,correct_terminterm_map.items():translated_texttranslated_text.replace(en_term,correct_term)坑2PDF提取文字丢失格式PyPDF2提取的PDF文字经常丢失分段、表格结构、图片说明。对格式要求高的PDF建议用ABBYY等专业OCR工具预处理。坑3翻译API不稳定突然某天API调用返回503或超时。加重试机制importtimedeftranslate_with_retry(text,max_retries3):foriinrange(max_retries):try:returntranslate_deepl(text)exceptExceptionase:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d38aeca992d54fe4ba9151ac2ff82a7d.png#pic_center)ifimax_retries-1:time.sleep(2**i)# 指数退避else:returnf[翻译失败:{e}]坑4HTML标签混在文本里从网页复制的文档内容可能带有HTML标签。翻译前先清洗importre clean_textre.sub(r[^],,raw_text)总结机器翻译人工校对是性价比最高的方案。自动化来做初稿翻译人工只校对术语和专业表达效率提升3-5倍。