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实现哈希表
Feb 07 Python
Python脚本实现格式化css文件
Apr 08 Python
Python使用minidom读写xml的方法
Jun 03 Python
轻松实现python搭建微信公众平台
Feb 16 Python
Django中Forms的使用代码解析
Feb 10 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
python实现字符串完美拆分split()的方法
Jul 16 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
一文搞懂Python Sklearn库使用
Aug 23 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中常用的输出函数总结
2014/09/22 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
angularjs基础教程
2014/12/25 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
jquery操作select常见方法大全【7种情况】
2019/05/28 jQuery
vue的路由映射问题及解决方案
2019/10/14 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python爬虫包BeautifulSoup异常处理(二)
2018/06/17 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
基于python3生成标签云代码解析
2020/02/18 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
HTML5拖拽功能实现的拼图游戏
2018/07/31 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
Joie官方网上商店:购买服装和女装配饰
2018/06/05 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
.NET常见笔试题集
2012/12/01 面试题
自动化毕业生专业自荐书范文
2014/02/04 职场文书
绿化工程实施方案
2014/03/17 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
滞留工资返还协议书
2014/10/19 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python