pdf翻译成中文并导出word
#!/usr/bin/env python
# Version = 3.5.2
# __auth__ = '无名小妖'
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregator
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
from docx import Document
from transform import entozhdocument = Document()def parse():# rb以二进制读模式打开本地pdf文件fn = open('1909.07808.pdf', 'rb')# 创建一个pdf文档分析器parser = PDFParser(fn)# 创建一个PDF文档doc = PDFDocument()# 连接分析器 与文档对象parser.set_document(doc)doc.set_parser(parser)# 提供初始化密码doc.initialize("lianxipython")# 如果没有密码 就创建一个空的字符串doc.initialize("")# 检测文档是否提供txt转换,不提供就忽略if not doc.is_extractable:raise PDFTextExtractionNotAllowedelse:# 创建PDf资源管理器resource = PDFResourceManager()# 创建一个PDF参数分析器laparams = LAParams()# 创建聚合器,用于读取文档的对象device = PDFPageAggregator(resource, laparams=laparams)# 创建解释器,对文档编码,解释成Python能够识别的格式interpreter = PDFPageInterpreter(resource, device)# 循环遍历列表,每次处理一页的内容# doc.get_pages() 获取page列表for page in doc.get_pages():# 利用解释器的process_page()方法解析读取单独页数interpreter.process_page(page)# 使用聚合器get_result()方法获取内容layout = device.get_result()# 这里layout是一个LTPage对象,里面存放着这个page解析出的各种对象for out in layout:# 判断是否含有get_text()方法,获取我们想要的文字if hasattr(out, "get_text"):# print(out.get_text(), type(out.get_text()))content = out.get_text().replace(u'\xa0', u' ') # 将'\xa0'替换成u' '空格,这个\xa0就是&nbps空格if len(content) > 5:try:contents = entozh(content)['trans_result']content = [cont['dst'] for cont in contents]datas = ''for cont in content:datas += contprint(datas)document.add_paragraph(datas, style='ListBullet' # 添加段落,样式为unordered list类型)except:passdocument.save('demo1.docx') # 保存这个文档if __name__ == '__main__':parse()
#百度通用翻译API,不包含词典、tts语音合成等资源,如有相关需求请联系translate_api@baidu.com
# coding=utf-8import http.client
import hashlib
import urllib
import random
import json
def entozh(q):appid = '20200805000533788' # 填写你的appidsecretKey = 'VWjMWkpFXPTi8mcfPLMQ' # 填写你的密钥httpClient = Nonemyurl = '/api/trans/vip/translate'fromLang = 'en' # 原文语种toLang = 'zh' # 译文语种salt = random.randint(32768, 65536)sign = appid + q + str(salt) + secretKeysign = hashlib.md5(sign.encode()).hexdigest()myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + signtry:httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')httpClient.request('GET', myurl)# response是HTTPResponse对象response = httpClient.getresponse()result_all = response.read().decode("utf-8")result = json.loads(result_all)return resultexcept Exception as e:passfinally:if httpClient:httpClient.close()
pdf翻译成中文并导出word相关推荐
- 怎样把PDF翻译成中文
很多大学里面的宝宝们在写论文的时候经常需要翻译PDF文件的操作,因为写论文的时候需要大量参考一些外国文献,那怎样把PDF翻译成中文呢. 进入浏览器,打开百度首页,搜索迅捷PDF在线转换器. 打开转换器 ...
- 如何把pdf翻译成中文?
如果要把pdf翻译成中文,要怎么进行文件的翻译呢?在很多进行文件翻译问题上都会借助转换器来进行操作.pdf翻译成中文也可以的.详细的转换方法可以参考以下的步骤 使用工具:迅捷在线pdf转换器 转换方法 ...
- pdf翻译成中文,怎样翻译比较好?
据了解,pdf是一种便携式电子文件,广泛应用于电子图书.产品说明.电子期刊.公司文告.网络宣传.电子邮件等资料处理.随着中外企业的合作加强,pdf文件翻译需求也不断增加.那么,pdf翻译成中文,怎样翻 ...
- 怎么把PDF翻译成中文?教你便捷翻译方法
怎么把PDF文件的内容给翻译成中文呢?对于PDF文件,大家在日常中经常会使用到,在办公中收到一份英文的PDF文件,或者是我们在网站上下载资料,发现是看不懂的英文,这时候我们怎么将文件内容给翻译成中文呢 ...
- 怎么将PDF翻译成中文?这篇文章教会你
在日常的学习或工作中,当你在阅读一篇其他语言的PDF格式文章,突然有一段你不懂得是什么意思,这时就需要使用到翻译器.那么PDF怎么翻译呢?下面这篇文章就来告诉你吧! 方法一:借助"万能文字识 ...
- 怎么把PDF翻译成中文
有的时候需要翻译毕业论文,设计等PDF英文文件,这些文件自己一字一字翻译的话太过于麻烦,有没有什么更简洁的方法呢,今天小编就来为大家分享一个方法. 1:打开电脑后,进入浏览器搜索关键词迅捷PDF在线转 ...
- 好用的工具介绍之——免费pdf编辑及英文pdf翻译成中文
话说在前面,会科学上网是多么的重要啊,首先说一下,这个是免费的,国内感觉最好用的wps还是要氪金,我呸. 具体方法是: 1.将文件上传到您的google云端硬盘(https://drive.googl ...
- PDF怎么直接翻译成中文
现如今中外合企越来越多,在这些企业当工作时经常会遇到纯英文的pdf工作文件.可是很多人的英文水平都很一般,翻译阅读整份文件会浪费大半的工作时间.那么如何把pdf翻译成中文呢?这篇经验文章将告诉大家pd ...
- pdf在线翻译_如何将英文的PDF文档翻译成中文简体?
我们经常会通过不同的渠道查找和下载资料,有时候如果下载的PDF文档是英文版的,怎样才能直接翻译成常用的简体中文版本呢? 直接翻译的PDF编辑类软件几乎没有,所以我们可以先将PDF转换成Word后再翻译 ...
最新文章
- python websocket异步高并发_Python3.5异步和多个websocket服务器
- JZOJ 5454. 【NOIP2017提高A组冲刺11.5】仔细的检查
- gorm 密码字段隐藏_【财富密码】第1期:《LSTM大战上证指数-PyTorch版》
- 如何判断链表有环并计算环的长度
- mysql查询锁表及解锁
- 1045. Favorite Color Stripe (30)
- 传统机器学习流程总结
- centos7安装mysql5.7.16_centos7.x编译安装mysql5.7.16
- CIS芯片测试到底怎么测?
- 遭遇:“说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。”错误...
- Nodejs Addons
- matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
- Mask R-CNN完整翻译
- Unity编辑器开发(七)——Scene界面拓展之Handles
- [转载]什么叫ERP
- 通过3D打印自动售货机来定制你的食物
- Mybatis Mybatis-plus使用问题全记录
- ajax用到的js,PJBLOG中用到的ajaxjs.几个简单的函数分享
- 做好年会PPT,只需学会这三点
- 前端编译、JIT编译、AOT编译
热门文章
- aps.net导出数据库信息到excel后下载
- Codeforces 1326C. Permutation Partitions
- Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
- PyTorch 源码解读之 torch.utils.data:解析数据处理全流程
- zabbix安装监控客户端应用
- 第6章 关系数据理论—多值依赖和4NF
- python安装模块方法_python安装模块方法汇总
- BEVFormer-accelerate:基于 EasyCV 加速 BEVFormer
- fluentd mysql_使用fluentd实时收到nginx日志到mysql数据库
- 【ThinkPHP6.x框架】(23)tp框架的附加功能