python離線翻譯庫,python自動翻譯pdf_python實現從pdf文件中提取文本,并自動翻譯的方法

 2023-10-04 阅读 33 评论 0

摘要:針對Python 3.5.2 測試 首先安裝兩個包: $ pip install googletrans python離線翻譯庫、$ pip install pdfminer3k googletrans會提供一個命令translate,這個命令會調用google translate api執行自動翻譯: pdfminer3k會提供一個工具腳本pdf2txt.py࿱

針對Python 3.5.2 測試

首先安裝兩個包:

$ pip install googletrans

python離線翻譯庫、$ pip install pdfminer3k

googletrans會提供一個命令translate,這個命令會調用google translate api執行自動翻譯:

19101600372059659132851523.jpg

19101600372173841926235290.jpg

19101600372374902959009704.jpg

pdfminer3k會提供一個工具腳本pdf2txt.py:

$ pdf2txt.py xxx.pdf

零基礎學python爬蟲、從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。谷歌翻譯并不能識別段落或者整句,如果一個整句中出現換行符,會發現翻譯就不完整了,以網頁版谷歌翻譯測試:

19101600372552321007850917.jpg

因此需要將pdf轉換好的文本文件進行拼接,借用linux args 命令,實現此功能,將整個文件的換行符全部去掉。

但是問題又出現了,整個文件變成一行,我們的段落結構都消失了,那么我們需要手動添加delimiter,設置為一個特殊字符@。

19101600372673561257585288.jpg

執行如下命令:

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

將翻譯后的文本重定向到一個文件,然后對文件進行簡單的后處理,就可以了。

19101600372841072898534164.jpg

以上這篇python實現從pdf文件中提取文本,并自動翻譯的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/112061.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息