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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
详解Python中的文本处理
Apr 11 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
python实现梯度下降算法
Mar 24 Python
python版大富翁源代码分享
Nov 19 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
pandas 空数据处理方法详解
Nov 02 Python
将tensorflow模型打包成PB文件及PB文件读取方式
Jan 23 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 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中的CMS的涵义
2007/03/11 PHP
PHP网站备份程序代码分享
2011/06/10 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
JavaScript设计模式---单例模式详解【四种基本形式】
2020/05/16 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
Django restframework 源码分析之认证详解
2019/02/22 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
python IDLE添加行号显示教程
2020/04/25 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
thinkphp5 路由分发原理
2021/03/18 PHP
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
给国外客户的邀请函
2014/01/30 职场文书
程序员求职信
2014/04/16 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL