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 算法 排序实现快速排序
Jun 05 Python
python冒泡排序算法的实现代码
Nov 21 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
通过shell+python实现企业微信预警
Mar 07 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
对Python 字典元素进行删除的方法
Jul 31 Python
python 多线程中join()的作用
Oct 29 Python
python 中关于pycharm选择运行环境的问题
Oct 31 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实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
Python入门之modf()方法的使用
2015/05/15 Python
Python中max函数用法实例分析
2015/07/17 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
解决pycharm 安装numpy失败的问题
2019/12/05 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
JAVA软件工程师测试题
2014/07/25 面试题
实用求职信范文分享
2013/12/25 职场文书
实习心得体会
2014/01/02 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
员工安全责任书范本
2014/07/24 职场文书
三八妇女节寄语
2015/02/27 职场文书
防暑降温通知书
2015/04/27 职场文书
青涩记忆观后感
2015/06/18 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript