python实现从pdf文件中提取文本,并自动翻译的方法

 更新时间:2018年11月28日 09:09:37   作者:PlPyRbC  
今天小编就为大家分享一篇python实现从pdf文件中提取文本,并自动翻译的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

针对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框架Django实战商城项目之工程搭建过程图文详解

    python框架Django实战商城项目之工程搭建过程图文详解

    这篇文章主要介绍了python框架Django实战商城项目之工程搭建过程,这个项目很像京东商城,项目开发采用前后端不分离的模式,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2020-03-03
  • github配置使用指南

    github配置使用指南

    Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git,作为一个程序猿,不会github那确实有点坑了
    2014-11-11
  • python爬取网站数据保存使用的方法

    python爬取网站数据保存使用的方法

    这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文
    2013-11-11
  • 在Django的模型和公用函数中使用惰性翻译对象

    在Django的模型和公用函数中使用惰性翻译对象

    这篇文章主要介绍了在Django的模型和公用函数中使用惰性翻译对象,Django是丰富多彩的Python框架中人气最高的一个,需要的朋友可以参考下
    2015-07-07
  • python如何实现向上取整

    python如何实现向上取整

    这篇文章主要介绍了python如何实现向上取整问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vscode+PyQt5安装详解步骤

    vscode+PyQt5安装详解步骤

    这篇文章主要介绍了vscode+PyQt5安装详解步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • chatGPT之Python API启用上下文管理案例详解

    chatGPT之Python API启用上下文管理案例详解

    chatGPT已经爆火一段时间了,我想大多数的开发者都在默默的在开发和测试当中,可能也是因为这个原因所以现在很难找到关于开发中遇到的一些坑或者方法和技巧,这篇文章主要介绍了chatGPT之Python API启用上下文管理,需要的朋友可以参考下
    2023-03-03
  • Python实现制度转换(货币,温度,长度)

    Python实现制度转换(货币,温度,长度)

    这篇文章主要介绍了Python实现制度转换(货币,温度,长度),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python使用pyinstaller实现学生管理系统流程

    Python使用pyinstaller实现学生管理系统流程

    pyinstaller是一个非常简单的打包python的py文件的库,下面这篇文章主要给大家介绍了关于Python Pyinstaller库安装步骤以及使用方法的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Python 内置函数memoryview(obj)的具体用法

    Python 内置函数memoryview(obj)的具体用法

    本篇文章主要介绍了Python 内置函数memoryview(obj)的具体用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论