python pdf一键翻译脚本
安装第三方库
pip install pdfminer3k
配置注册百度翻译平台账号,获取appid 及key
详细代码
import hashlib
import random
import urllib.parse
import requests
from concurrent import futures
from io import StringIOfrom pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParamsdef read_from_pdf(file_path):'''解析pdf文件'''with open(file_path, 'rb') as file:resource_manager = PDFResourceManager()return_str = StringIO()lap_params = LAParams()device = TextConverter(resource_manager, return_str, laparams=lap_params)process_pdf(resource_manager, device, file)device.close()content = return_str.getvalue()return_str.close()return contentdef create_sign(q, appid, salt, key):'''制造签名'''sign = str(appid) + str(q) + str(salt) + str(key)md5 = hashlib.md5()md5.update(sign.encode('utf-8'))return md5.hexdigest()def create_url(q, url):'''根据参数构造query字典'''fro = 'auto'to = 'zh'salt = random.randint(32768, 65536)sign = create_sign(q, appid, salt, key)url = url+'?appid='+str(appid)+'&q='+urllib.parse.quote(q)+'&from='+str(fro)+'&to='+str(to)+'&salt='+str(salt)+'&sign='+str(sign)return urldef translate(q):url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'url = create_url(q, url)r = requests.get(url)txt = r.json()if txt.get('trans_result', -1) == -1:print('程序已经出错,请查看报错信息:\n{}'.format(txt))return '这一部分翻译错误\n'return txt['trans_result'][0]['dst']def clean_data(data):'''将输入的data返回成为段落组成的列表'''data = data.replace('\n\n', '闲谈后')data = data.replace('\n', ' ')return data.split('闲谈后')def _main(pdf_path, txt_path):# try:data = read_from_pdf(pdf_path)data_list = clean_data(data)with futures.ThreadPoolExecutor(20) as excuter:zh_txt = excuter.map(translate, data_list)# zh_txt = [translate(txt) for txt in data_list]zh_txt = list(zh_txt)article = '\n\n'.join(zh_txt)print(article)with open(txt_path, 'w', encoding='utf-8') as f:f.write(article)# except Exception:# return -1if __name__ == '__main__':appid =*** #填入你的 appid ,为int类型key ='***' #填入你的 key ,为str类型_main('1.pdf', '1.txt') #填入 pdf 路径与翻译完毕之后的 txt 路径
python pdf一键翻译脚本相关推荐
- Python实现中英文翻译脚本
Python实现中英文翻译脚本 安装依赖包 pip install translate,安装如果慢看前面文章加 -i 换源 """ @Author : 康帅 @Time ...
- *** Python版一键安装脚本
本脚本适用环境: 系统支持:CentOS 6,7,Debian,Ubuntu 内存要求:≥128M 日期:2018 年 02 月 07 日 关于本脚本: 一键安装 Python 版 *** 的最新版. ...
- [转] *** 一键安装脚本(四合一)
[from] https://teddysun.com/486.html 本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 日期 :2017 ...
- 一个ocr翻译脚本,扫描版pdf伴侣。
ocr识别翻译脚本 参考了诸多前辈的代码,在源文件里都做了说明,在此对所有无私分享代码的前辈们一并表示感谢! 所有脚本都基于linux下的kde环境,欢迎大家使用.交流. 项目地址:https://g ...
- python在线翻译脚本_用Python抓取百度翻译内容并打造自己的翻译脚本!
英文不好一直是我的一个短板,尤其是在学习代码的阶段,经常需要查询各种错误,很是苦逼,一直就想自己做个翻译的脚本,省去打开网页的时间,但是查询之后发现网上的教程都是百度翻译改版之前的爬虫,不得已只好自己 ...
- 翻译pdf中的英文 python_浅谈python实现Google翻译PDF,解决换行的问题
我们复制PDF到Google翻译时,总是会出现换行的情况,如果自己手动去除,那就太麻烦了. 那么用Python就可以解决,复制到粘贴板以后,Python程序自动可以把\n换成空格,然后我们就可以复制到 ...
- 一键翻译PDF神器|网称最强翻译软件
一键翻译PDF神器|网称最强翻译软件 我们在看文献和需要英文翻译的时候都会想到谷歌翻译或者百度翻译这几个老牌翻译工具,最近我发现一款非常强大又简洁的翻译工具-Deepl. Deepl在网上被称 ...
- python pdf解密脚本(pikepdf模块)
python pdf解密脚本(pikepdf模块) 参考:https://blog.csdn.net/weixin_44160754/article/details/114525052 pikepdf ...
- python自动化 html 翻译转 pdf
python自动化 html 翻译转 pdf 帮别人做的 python的自动化工具,带有界面,通过交互界面选择html文件,自动开启浏览器,操控浏览器的翻译插件和打印功能可实现html任意语言翻译和转 ...
最新文章
- AlexNet 网络详解及Tensorflow实现源码
- 攻防世界Reverse第二题insanity
- 丢失__EVENTTARGET _dopost Asp.net自带隐藏域和脚本的现象
- 好用的Markdown编辑器推荐
- Eclipse配置初始化(自用)
- php 文章读取_php实现获取文章内容第一张图片的方法
- Centos7安装Docker教程
- flash 基础语法
- 怎样实现MathType在Numbers中的运用
- 【转】android 完全退出应用程序
- 黑客攻防从入门到精通 1-6章
- Linux 阻塞和非阻塞I/O
- java获取月份有几周_java 获取当前日期是本月的第几周,且当月一共有几周
- linux装回win10系统无法开机,ghost win10系统安装后无法启动怎么办
- 怎么制作证件照电子版?安利下面这三款软件给你
- Some MATLAB tips (二)
- 我的世界服务器不显示计分板,我的世界计分板教程 计分板指令详解
- IEEE期刊/会议论文模板
- Linux统计文件个数
- 小米快传不好用,手机端搜索不到情况
热门文章
- 生产mysql遇到kill不掉的sql的解决方法
- Android 各个平台的加密算法的了解
- 鼠标点击时计算机做了什么原因,电脑鼠标双击变单击怎么办 电脑鼠标双击变单击的原因【图文】...
- CSS3边框及盒子阴影
- 推荐7个好用的免费图床
- matlab 仿真风速,基于MatlabSimulink风速的仿真.docx
- 0基础如何学习软件测试?
- vivo Y83的Usb调试模式在哪里,打开vivo Y83Usb调试模式的教程
- 科研工具整理:论文翻译、流程制图、语法纠错
- stm32f103+FFT+OLED的音乐频谱制作(只需三步即可)