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操作MySQL数据库具体方法
Oct 28 Python
python通过cookie模拟已登录状态的初步研究
Nov 09 Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
Python实现读取json文件到excel表
Nov 18 Python
简述Python2与Python3的不同点
Jan 21 Python
python调用百度REST API实现语音识别
Aug 30 Python
PyGame贪吃蛇的实现代码示例
Nov 21 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
python使用ctypes调用扩展模块的实例方法
Jan 28 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 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
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
Python运用于数据分析的简单教程
2015/03/27 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python3中详解fabfile的编写
2018/06/24 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python递归下载文件夹下所有文件
2019/08/31 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
Python多分支if语句的使用
2020/09/03 Python
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
广告学专业毕业生自荐信
2013/09/24 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
信息管理专业自荐书
2014/06/05 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
贷款担保书范本
2015/09/22 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android