安装第三方库

pip install pdfminer3k

配置注册百度翻译平台账号,获取appid 及key

详细代码

import hashlib

import random

import urllib.parse

import requests

from concurrent import futures

from io import StringIO

from pdfminer.pdfinterp import PDFResourceManager

from pdfminer.pdfinterp import process_pdf

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

def 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 content

def 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 url

def 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 -1

if __name__ == '__main__':

appid =*** #填入你的 appid ,为int类型

key ='***' #填入你的 key ,为str类型

_main('1.pdf', '1.txt') #填入 pdf 路径与翻译完毕之后的 txt 路径

python自动翻译pdf_python pdf一键翻译脚本相关推荐

  1. python pdf一键翻译脚本

    安装第三方库 pip install pdfminer3k 配置注册百度翻译平台账号,获取appid 及key 详细代码 import hashlib import random import url ...

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

    针对Python 3.5.2 测试 首先安装两个包: $ pip install googletrans $ pip install pdfminer3k googletrans会提供一个命令tran ...

  3. Python 3.9.0 一键安装脚本

    #!/bin/bash echo -e "\033[32m安装开发库,wait......\033[0m" yum -y groupinstall "Developmen ...

  4. python自动翻译pdf_在Python中自动执行PDF

    python自动翻译pdf Modules used: 使用的模块: In this script, we will use PyPDF2 module which will provide us v ...

  5. python在线翻译脚本_用Python抓取百度翻译内容并打造自己的翻译脚本!

    英文不好一直是我的一个短板,尤其是在学习代码的阶段,经常需要查询各种错误,很是苦逼,一直就想自己做个翻译的脚本,省去打开网页的时间,但是查询之后发现网上的教程都是百度翻译改版之前的爬虫,不得已只好自己 ...

  6. 一个ocr翻译脚本,扫描版pdf伴侣。

    ocr识别翻译脚本 参考了诸多前辈的代码,在源文件里都做了说明,在此对所有无私分享代码的前辈们一并表示感谢! 所有脚本都基于linux下的kde环境,欢迎大家使用.交流. 项目地址:https://g ...

  7. python语言的翻译方式是什么-python自动翻译实现方法

    本文实例讲述了python自动翻译实现方法.分享给大家供大家参考,具体如下: 以前学过python的基础,一般也没用过.后来有一个参数表需要中英文.想了一下,还是用python做吧.调用的百度翻译接口 ...

  8. *** Python版一键安装脚本

    本脚本适用环境: 系统支持:CentOS 6,7,Debian,Ubuntu 内存要求:≥128M 日期:2018 年 02 月 07 日 关于本脚本: 一键安装 Python 版 *** 的最新版. ...

  9. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  10. 一键翻译PDF神器|网称最强翻译软件

    一键翻译PDF神器|网称最强翻译软件   我们在看文献和需要英文翻译的时候都会想到谷歌翻译或者百度翻译这几个老牌翻译工具,最近我发现一款非常强大又简洁的翻译工具-Deepl.   Deepl在网上被称 ...

最新文章

  1. windows命令行设置环境变量
  2. 安装exchange server 2003服务器
  3. 没有java home_【Java安装】必须有JAVA_HOME变量吗
  4. Spring标签mvc:annotation-driven/解读
  5. mybatis 使用in 查询时报错_使用mybatis的resultMap进行复杂查询 057
  6. recovery编译问题汇总
  7. 实现分页的通用存储过程
  8. [译]后台执行UNIX/Linux命令和脚本的五种方法
  9. 提交表单到mysql_node提交表单到mysql
  10. 使用Tslib在触摸屏上显示汉字
  11. 格式化文件系统命令所在目录——command not found
  12. C#中各种字符类型的转化
  13. 电商产品安全要求(UL+IEC)
  14. STAMP学习和使用
  15. 二元隐函数求二阶偏导_隐函数求二阶偏导
  16. C#今日头条推荐新闻爬取
  17. 采购杀毒软件 确保网络信息安全
  18. 阿卡迪亚大学计算机专业好考吗,考上阿卡迪亚大学有多难?
  19. 《人类简史》个人读书笔记
  20. mac 给 iPhone 充电一直闪跳

热门文章

  1. 【LeetCode - 247】中心对称数 II
  2. excel vba两个单元格内容合并
  3. 计算机无法关闭开机密码,电脑开机密码怎么取消
  4. WEB基础之:创建表格
  5. WinForm 无边框窗体四周阴影 窗体可拖动 无边框自定义标题栏
  6. 密西根州立大学计算机排名,密歇根州立大学MSU(Michigan State University)计算机科学Computer Science专业排名第91位(2021年THE世界大学商科排名)...
  7. pycharm2019版本去掉下划线的方法
  8. html怎么设置字体为微软雅黑,css如何设置字体为微软雅黑
  9. 计算机科学技术对教育的影响,计算机科学技术在计算机教育中的应用分析(原稿)...
  10. java app支付_java微信支付—APP