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递归计算N!的方法
May 05 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
linux安装python修改默认python版本方法
Mar 31 Python
python内存监控工具memory_profiler和guppy的用法详解
Jul 29 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
Python:type、object、class与内置类型实例
Dec 25 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
python 错误处理 assert详解
Apr 20 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 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
留言板翻页的实现详解
2006/10/09 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
php探针使用原理和技巧讲解
2019/09/17 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
javascript包装对象实例分析
2015/03/27 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
Python for循环与getitem的关系详解
2020/01/02 Python
PyCharm 专业版安装图文教程
2020/02/20 Python
浅谈css3中的前缀
2016/07/20 HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
中专三年学习的个人自我评价
2013/12/12 职场文书
诚信承诺书模板
2014/05/26 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
老公婚前保证书
2015/02/28 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
MySQL 如何分析查询性能
2021/05/12 MySQL