• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

用 Python 写的文档批量翻译工具效果竟然超出想象

python 搞代码 4年前 (2022-01-09) 39次浏览 已收录 0个评论
文章目录[隐藏]

大家好,我是启航。

本文将给大家分享一个实用的Python办公自动化脚本 「利用Python批量翻译英文Word文档并保留格式」,最终效果甚至比部分收费的软件还要好!先来看看具体的工作内容。

一、需求描述

手上有大量外文文档(本案例以5份为例,分别命名为 test1.docx test2.docx 以此类推),其中一份如下:

基本需求「批量将这些文档的内容全部翻译成中文,并转存到新的文件中」,效果如下:

高级需求:基本需求满足的同时,要求 「保留原文档的格式」,效果如下:

二、逻辑梳理

1. 翻译 API

本需求的核心是翻译,策略是利用网络的翻译 API,这里推荐百度翻译开放平台,不考虑并发数的话可以用标准版,免费使用不限字符量

百度翻译开放平台:http://api.fanyi.baidu.com/api/trans/product/index

在使用百度的通用翻译 API 之前需要完成以下工作:

使用百度账号登录百度翻译开放平台(http://api.fanyi.baidu.com);

注册成为开发者,获得APPID;

进行开发者认证(如仅需标准版可跳过);

开通通用翻译API服务:开通链接

参考技术文档和Demo编写代码

完成后在个人页面在即可看到 ID 和密钥,这个很重要!下面给出整理好的通用翻译 API 的 demo,已经对输出做简单修改,代码拿走就能用!

可以看到,测试内容准确的被翻译出来,注意如果需要多次访问 API,免费版有并发数和时间限制,可以用 time 模块睡眠一秒

2. 格式修改

高级需求的难点就是保留格式,简单来说原文档的页面格式和段落格式是什么,翻译后对应的部分就是什么。

基于上述的逻辑关系,只需要获取原文档的对应内容再赋值给新翻译的文档即可。(暂时只能满足页面设置和段落设置的统一,针对一段中特定词语的格式修改,保证精确性需要基于自然语言处理NLP,本文暂不涉及)

2.1 页面样式

页面样式只要包括边距、方向、高度、宽度等等,从原文档中可以看到,采取的是窄边距。但我们无需知道窄边距四个方向应该如何设置,只需要在代码中呈现新旧文档的变量传递即可,具体如下

2.2 段落样式

段落样式包括对齐、缩进、间距等等,原文档中采取了段后缩进,标题是居中对齐。这些设置在变量传递中能够很好完成。如果原文档中没有设置的变量值为 None

2.3 文本文来源gaodai#ma#com搞@@代~&码网字块样式修改


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:用 Python 写的文档批量翻译工具效果竟然超出想象

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址