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调用java的Webservice示例
Mar 10 Python
python中的sort方法使用详解
Jul 25 Python
在Python中调用ggplot的三种方法
Apr 08 Python
python3编码问题汇总
Sep 06 Python
python实现字符串和字典的转换
Sep 29 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
利用python求积分的实例
Jul 03 Python
pandas的qcut()方法详解
Jul 06 Python
解决python 上传图片限制格式问题
Oct 30 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
Python基于Tkinter编写crc校验工具
May 06 Python
基于Python的一个自动录入表格的小程序
Aug 05 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
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
php4的session功能评述(二)
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php检测用户是否用手机(Mobile)访问网站的类
2014/01/09 PHP
php将金额数字转化为中文大写
2015/07/09 PHP
php生成gif动画的方法
2015/11/05 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
2015/12/25 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
JS抛物线动画实例制作
2018/02/24 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
Python函数生成器原理及使用详解
2020/03/12 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
python装饰器三种装饰模式的简单分析
2020/09/04 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
2014年网管工作总结
2014/12/11 职场文书
导游词之吉林花园山
2019/10/17 职场文书