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 CSV模块使用实例
Apr 09 Python
Python开发之快速搭建自动回复微信公众号功能
Apr 22 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Python中进程和线程的区别详解
Oct 29 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
Python数据结构之图的应用示例
May 11 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
python 实现敏感词过滤的方法
Jan 21 Python
python常用数据重复项处理方法
Nov 22 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 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
老照片 - 几十年前的收音机与人
2021/03/02 无线电
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
分享php邮件管理器源码
2016/01/06 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
2017/03/09 PHP
php实现的顺序线性表示例
2019/05/04 PHP
Track Image Loading效果代码分析
2007/08/13 Javascript
Javascript 作用域使用说明
2009/08/13 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
js实现一键复制功能
2017/03/16 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
p5.js入门教程之图片加载
2018/03/20 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python中int与str互转方法
2018/07/02 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
keras的load_model实现加载含有参数的自定义模型
2020/06/22 Python
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
《盲人摸象》教学反思
2014/02/16 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
高三家长寄语
2014/04/03 职场文书