python实现从pdf文件中提取文本,并自动翻译的方法


Posted in Python onNovember 28, 2018

针对Python 3.5.2 测试

首先安装两个包:

$ pip install googletrans

$ pip install pdfminer3k

googletrans会提供一个命令translate,这个命令会调用google translate api执行自动翻译:

python实现从pdf文件中提取文本,并自动翻译的方法

python实现从pdf文件中提取文本,并自动翻译的方法

python实现从pdf文件中提取文本,并自动翻译的方法

pdfminer3k会提供一个工具脚本pdf2txt.py:

$ pdf2txt.py xxx.pdf

从stackoverflow搜索到可以去除页眉和页脚的命令(强烈推荐):

使用Ubuntu提供的pdftotext工具:

$ pdftotext -y 50 -H 650 -W 1000 -nopgbrk sva.pdf

$ pdftotext -f 147 -l 166 -y 50 -H 650 -W 1000 -nopgbrk sva.pdf

谷歌翻译并不能识别段落或者整句,如果一个整句中出现换行符,会发现翻译就不完整了,以网页版谷歌翻译测试:

python实现从pdf文件中提取文本,并自动翻译的方法

因此需要将pdf转换好的文本文件进行拼接,借用linux args 命令,实现此功能,将整个文件的换行符全部去掉。

但是问题又出现了,整个文件变成一行,我们的段落结构都消失了,那么我们需要手动添加delimiter,设置为一个特殊字符@。

python实现从pdf文件中提取文本,并自动翻译的方法

执行如下命令:

cat trans_src.txt |xargs |xargs -0 -d '@' -i{} translate -d zh-cn {} |tee trans_dst.txt

cat sva_src_1to2.txt |xargs |xargs -0 -d '&' -i{} translate -d zh-cn {} |xargs -d'\n' -n4 | awk -F'zh-cn' '{print $2}' | awk -F'[][]' '{print $2}' | tee sva_dst_1to2.txt

将翻译后的文本重定向到一个文件,然后对文件进行简单的后处理,就可以了。

python实现从pdf文件中提取文本,并自动翻译的方法

以上这篇python实现从pdf文件中提取文本,并自动翻译的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python def函数的定义、使用及参数传递实现代码
Aug 10 Python
python中使用mysql数据库详细介绍
Mar 27 Python
python获取本机mac地址和ip地址的方法
Apr 29 Python
Python实现的使用telnet登陆聊天室实例
Jun 17 Python
python实现各进制转换的总结大全
Jun 18 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
python技能之数据导出excel的实例代码
Aug 11 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
Mar 22 Python
python设计tcp数据包协议类的例子
Jul 23 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 Python
10分钟教你用Python实现微信自动回复功能
Nov 28 #Python
Linux CentOS Python开发环境搭建教程
Nov 28 #Python
Python 获取中文字拼音首个字母的方法
Nov 28 #Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 #Python
python如何查看微信消息撤回
Nov 27 #Python
python中退出多层循环的方法
Nov 27 #Python
为什么Python中没有"a++"这种写法
Nov 27 #Python
You might like
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
详解vue-router和vue-cli以及组件之间的传值
2017/07/04 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
含精油的天然有机化妆品:Indemne
2019/08/27 全球购物
学历公证委托书
2014/04/09 职场文书
2014年大学生预备党员思想汇报1000字
2014/09/13 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
在职证明范本
2015/06/15 职场文书
教师节主题班会方案
2015/08/17 职场文书
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers