#!/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相关推荐

  1. 怎样把PDF翻译成中文

    很多大学里面的宝宝们在写论文的时候经常需要翻译PDF文件的操作,因为写论文的时候需要大量参考一些外国文献,那怎样把PDF翻译成中文呢. 进入浏览器,打开百度首页,搜索迅捷PDF在线转换器. 打开转换器 ...

  2. 如何把pdf翻译成中文?

    如果要把pdf翻译成中文,要怎么进行文件的翻译呢?在很多进行文件翻译问题上都会借助转换器来进行操作.pdf翻译成中文也可以的.详细的转换方法可以参考以下的步骤 使用工具:迅捷在线pdf转换器 转换方法 ...

  3. pdf翻译成中文,怎样翻译比较好?

    据了解,pdf是一种便携式电子文件,广泛应用于电子图书.产品说明.电子期刊.公司文告.网络宣传.电子邮件等资料处理.随着中外企业的合作加强,pdf文件翻译需求也不断增加.那么,pdf翻译成中文,怎样翻 ...

  4. 怎么把PDF翻译成中文?教你便捷翻译方法

    怎么把PDF文件的内容给翻译成中文呢?对于PDF文件,大家在日常中经常会使用到,在办公中收到一份英文的PDF文件,或者是我们在网站上下载资料,发现是看不懂的英文,这时候我们怎么将文件内容给翻译成中文呢 ...

  5. 怎么将PDF翻译成中文?这篇文章教会你

    在日常的学习或工作中,当你在阅读一篇其他语言的PDF格式文章,突然有一段你不懂得是什么意思,这时就需要使用到翻译器.那么PDF怎么翻译呢?下面这篇文章就来告诉你吧! 方法一:借助"万能文字识 ...

  6. 怎么把PDF翻译成中文

    有的时候需要翻译毕业论文,设计等PDF英文文件,这些文件自己一字一字翻译的话太过于麻烦,有没有什么更简洁的方法呢,今天小编就来为大家分享一个方法. 1:打开电脑后,进入浏览器搜索关键词迅捷PDF在线转 ...

  7. 好用的工具介绍之——免费pdf编辑及英文pdf翻译成中文

    话说在前面,会科学上网是多么的重要啊,首先说一下,这个是免费的,国内感觉最好用的wps还是要氪金,我呸. 具体方法是: 1.将文件上传到您的google云端硬盘(https://drive.googl ...

  8. PDF怎么直接翻译成中文

    现如今中外合企越来越多,在这些企业当工作时经常会遇到纯英文的pdf工作文件.可是很多人的英文水平都很一般,翻译阅读整份文件会浪费大半的工作时间.那么如何把pdf翻译成中文呢?这篇经验文章将告诉大家pd ...

  9. pdf在线翻译_如何将英文的PDF文档翻译成中文简体?

    我们经常会通过不同的渠道查找和下载资料,有时候如果下载的PDF文档是英文版的,怎样才能直接翻译成常用的简体中文版本呢? 直接翻译的PDF编辑类软件几乎没有,所以我们可以先将PDF转换成Word后再翻译 ...

最新文章

  1. python websocket异步高并发_Python3.5异步和多个websocket服务器
  2. JZOJ 5454. 【NOIP2017提高A组冲刺11.5】仔细的检查
  3. gorm 密码字段隐藏_【财富密码】第1期:《LSTM大战上证指数-PyTorch版》
  4. 如何判断链表有环并计算环的长度
  5. mysql查询锁表及解锁
  6. 1045. Favorite Color Stripe (30)
  7. 传统机器学习流程总结
  8. centos7安装mysql5.7.16_centos7.x编译安装mysql5.7.16
  9. CIS芯片测试到底怎么测?
  10. 遭遇:“说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。”错误...
  11. Nodejs Addons
  12. matlab编程求卫星轨道长度,卫星位置速度与轨道根数之间的计算
  13. Mask R-CNN完整翻译
  14. Unity编辑器开发(七)——Scene界面拓展之Handles
  15. [转载]什么叫ERP
  16. 通过3D打印自动售货机来定制你的食物
  17. Mybatis Mybatis-plus使用问题全记录
  18. ajax用到的js,PJBLOG中用到的ajaxjs.几个简单的函数分享
  19. 做好年会PPT,只需学会这三点
  20. 前端编译、JIT编译、AOT编译

热门文章

  1. aps.net导出数据库信息到excel后下载
  2. Codeforces 1326C. Permutation Partitions
  3. Linux (centos8)安装 MySQL 8 数据库(图文详细教程)
  4. PyTorch 源码解读之 torch.utils.data:解析数据处理全流程
  5. zabbix安装监控客户端应用
  6. 第6章 关系数据理论—多值依赖和4NF
  7. python安装模块方法_python安装模块方法汇总
  8. BEVFormer-accelerate:基于 EasyCV 加速 BEVFormer
  9. fluentd mysql_使用fluentd实时收到nginx日志到mysql数据库
  10. 【ThinkPHP6.x框架】(23)tp框架的附加功能