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使用chardet判断字符串编码的方法
Mar 13 Python
python中dir函数用法分析
Apr 17 Python
django使用图片延时加载引起后台404错误
Apr 18 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python中 map()函数的用法详解
Jul 10 Python
Python requests模块实例用法
Feb 11 Python
用python打印1~20的整数实例讲解
Jul 01 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
Mar 12 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python图像阈值化处理及算法比对实例解析
Jun 19 Python
python实现定时发送邮件到指定邮箱
Dec 23 Python
Django如何创作一个简单的最小程序
May 12 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版
2006/10/09 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php生成zip文件类实例
2015/04/07 PHP
PHP钩子实现方法解析
2019/05/21 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
jQuery 使用手册(七)
2009/09/23 Javascript
基于jQuery的倒计时实现代码
2012/05/30 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
vue源码入口文件分析(推荐)
2018/01/30 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python实现随机生成有效手机号码及身份证功能示例
2017/06/05 Python
python中str内置函数用法总结
2020/12/27 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
小学假期安全广播稿
2014/09/28 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
进行数据处理的6个 Python 代码块分享
2022/04/06 Python