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 strip lstrip rstrip使用方法
Sep 06 Python
python中的多重继承实例讲解
Sep 28 Python
Linux环境下MySQL-python安装过程分享
Feb 02 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
May 23 Python
Python中scatter函数参数及用法详解
Nov 08 Python
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
Jan 23 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
最小二乘法及其python实现详解
Feb 24 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 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开发负载均衡指南
2010/07/17 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
PHP new static 和 new self详解
2017/02/19 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
php生成HTML文件的类方法
2019/10/11 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
jquery.validate使用攻略 第二部
2010/07/01 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
Bootstrap模态窗口源码解析
2017/02/08 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
Python每天必学之bytes字节
2016/01/28 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
武汉某公司的C#笔试题面试题
2015/12/25 面试题
音乐教育感言
2014/03/05 职场文书
班级学习计划书
2014/04/27 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
看上去很美观后感
2015/06/10 职场文书
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL