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读写Excel文件方法介绍
Nov 22 Python
利用Python演示数型数据结构的教程
Apr 03 Python
Ubuntu下创建虚拟独立的Python环境全过程
Feb 10 Python
python使用tornado实现登录和登出
Jul 28 Python
学生信息管理系统python版
Oct 17 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
使用pycharm在本地开发并实时同步到服务器
Aug 02 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
postman和python mock测试过程图解
Feb 22 Python
Python 统计位数为偶数的数字代码详解
Mar 15 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 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
mysql 搜索之简单应用
2007/04/27 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
php中in_array函数用法探究
2014/11/25 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
浅谈PHP接入(第三方登录)QQ登录 OAuth2.0 过程中遇到的坑
2017/10/13 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
package.json文件配置详解
2017/06/15 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
Python使用filetype精确判断文件类型
2017/07/02 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
Python当中的array数组对象实例详解
2019/06/12 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
python实现感知机模型的示例
2020/09/30 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
《明天,我们毕业》教学反思
2014/04/24 职场文书
淘宝店策划方案
2014/06/07 职场文书
公司合并协议书范本
2014/09/30 职场文书
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技