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 相关文章推荐
基于Django模板中的数字自增(详解)
Sep 05 Python
python爬虫爬取网页表格数据
Mar 07 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
如何在django中运行scrapy框架
Apr 22 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
python:HDF和CSV存储优劣对比分析
Jun 08 Python
python编写softmax函数、交叉熵函数实例
Jun 11 Python
python实现梯度下降算法的实例详解
Aug 17 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
Python torch.flatten()函数案例详解
Aug 30 Python
Python 数据可视化之Seaborn详解
Nov 02 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
Mar 25 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读取txt文本文件并分页显示的方法
2015/03/11 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
JavaScript的Function详细
2006/11/14 Javascript
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
JS实现touch 点击滑动轮播实例代码
2017/01/19 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
2018/03/12 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
2018/05/29 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
学生爱国演讲稿
2014/01/14 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
经典团队口号
2014/06/06 职场文书
暑期培训班招生方案
2014/08/26 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
《打电话》教学反思
2016/02/22 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS