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

作者:PlPyRbC 时间:2021-06-08 18:55:56 

针对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文件中提取文本,并自动翻译的方法

来源:https://blog.csdn.net/zhajio/article/details/79990140

标签:python,pdf,翻译
0
投稿

猜你喜欢

  • Python和Pycharm 环境部署详细步骤

    2022-09-25 02:25:45
  • php中数字、字符与对象判断函数用法实例

    2023-07-24 03:27:08
  • python 利用panda 实现列联表(交叉表)

    2022-02-21 02:24:32
  • php 读取文件头判断文件类型的实现代码

    2023-11-15 09:50:06
  • 用FrongPage设计网页花样

    2008-09-17 10:47:00
  • Python编程pygal绘图实例之XY线

    2021-02-17 10:42:10
  • Go语言实现新春祝福二维码的生成

    2023-10-16 06:14:32
  • Django中数据在前后端传递的方式之表单、JSON与ajax

    2022-08-09 11:32:44
  • 操作设计要素

    2011-03-04 16:23:00
  • Django 中间键和上下文处理器的使用

    2022-04-19 05:04:56
  • Python使用Selenium爬取淘宝异步加载的数据方法

    2021-05-17 05:31:57
  • css学习笔记: css新闻列表的特殊做法

    2009-07-19 14:25:00
  • 有关asp的系统变量ServerVariables (“HTTP_USER_AGENT“)?

    2009-10-29 12:12:00
  • asp如何实现对Session 数组的定义和调用?

    2010-05-18 18:40:00
  • javascript 获取硬盘信息代码

    2007-12-08 21:27:00
  • MySQL的命令行提示符及其表达的意思

    2008-03-17 13:34:00
  • Asp测试网速代码(带进度条)

    2007-11-12 13:09:00
  • python fabric实现远程操作和部署示例

    2021-07-18 14:22:14
  • win10系统配置GPU版本Pytorch的详细教程

    2023-07-21 19:30:38
  • JavaScript游戏开发之键盘控制层的移动

    2008-09-13 19:29:00
  • asp之家 网络编程 m.aspxhome.com