这些天遇到了一个小问题,我的好朋友拿着一篇pdf来问我,如何把里面的简体字提取出来,翻译成繁体字,同时保留原来的拼音呢。一开始她用word打开pdf然后使用翻译功能,但效果并不好。作为一个预备软件工程师,当然会想到写一个程序来解决问题!

当然第一想法就是写不如抄啦,火速搜索了一下,发现已经有人帮我把主要处理模块写好了:

点击这里跳转

所以我的任务就更简单了,由于我要处理的是文本文件,所以我自己完成文件处理模块,然后服用链接的代码就ojbk了

首先我们观察要处理的这个pdf:

它在用word打开,然后转为txt格式后,会出现一个格式上的问题:

我们发现拼音和文字处于同一行了,而且拼音带上了括号。所以我们要提前做一个预处理工作,把所有的文字提取出来,保留除了括号以外的符号。

def reader(file_name):with open(file_name, 'r', encoding='utf-8') as file_obj:content = file_obj.read()# print(content)file_obj.close()return content#使用api
line_chs = reader("input.txt")#定义处理所有的括号的函数
def get_words(ret_chs):nr = ""i = 0while i < len(ret_chs):if ret_chs[i] != '(':nr = nr + ret_chs[i]i = i + 1else:while i < len(ret_chs) and ret_chs[i] != ')':i = i + 1i = i + 1return nrdef writer(file_name, content):with open(file_name, 'w', encoding='utf-8') as file_obj:file_obj.write(content)file_obj.close()# 转换繁体到简体
def cht_to_chs(line):line = Converter('zh-hans').convert(line)line.encode('utf-8')return line# 转换简体到繁体
def chs_to_cht(line):line = Converter('zh-hant').convert(line)line.encode('utf-8')return line#简体转繁体
ret_chs = chs_to_cht(line_chs)
#获取没有括号的文字段
nr=get_words(ret_chs)
writer("output2.txt", nr)

将文件保存,展示一下效果:

然后就是添加拼音的环节了,我们需要拼音库:

import pypinyin

考虑到文字和拼音的易读性,我们要调整间距,使得排版较为好看,我的做法是给每个文字中间加空格:

def pinyin(word):s = ''for i in pypinyin.pinyin(word, style=pypinyin.NORMAL):s += ''.join(i)return sdef split_line(word):s = ''for i in word:s += iif i == ' ':continues += " "return s#把所有output2里面的文字按行为单位,放入列表中 便于格式控制
usr_list = []
for line in open("output2.txt", 'r', encoding='utf-8'):s = ''for i in line:s = s + ''.join(i) + " "usr_list.append(s)#获得所有的字的拼音
pinyin_list = []
for line in usr_list:pinyin_list.append(yinjie(line))words = []
for line in usr_list:words.append(split_line(line))#给字加空格
words = []
for line in usr_list:words.append(split_line(line))#一行拼音 一行文字的打印
i = 0with open("finaloutput.txt", 'w', encoding='utf-8') as file_obj:while i < len(usr_list):print(pinyin_list[i])file_obj.write(pinyin_list[i])file_obj.write(words[i])print(words[i])i += 1file_obj.close()

然后我们看到程序运行的结果:

虽然还不是很好看,但已经很好的完成预定目标了

简体字转繁体字------- 如何将简体字文章翻译成繁体字,并加上拼音 python相关推荐

  1. 学术不端网查重靠谱吗_毕业论文查重把知网上的英文文章翻译成中文可以吗

    据说CNKI中国知网5.0就已经添加了中英文互译检测.简单百度一下发现学术不端网有关于:知网查重能否查英文论文呢?英语论文翻译过来查重能过吗?等等这样关于知网查重系统和英文文献的问题有很多.我现在用的 ...

  2. 英文文档翻译软件-汉语文章翻译成英语

    免费文章翻译软件的主要优点包括: 方便快捷:在线免费文章翻译软件使得翻译变得更加方便和快速,只需要将需要翻译的文本复制粘贴到输入框中,即可获取翻译结果. 费用低廉或免费:相对于一些专业的翻译服务或软件 ...

  3. 神奇,5秒钟把几百字文章翻译成拼音,有了它教孩子拼音变这么简单

    孩子不能输在起跑线上,这是现在很多家长最挂心的问题,怎样让孩子在小的时候尽量早学点东西,尽量多学点东西,是每个家长无时无刻不在思考的问题,拼音作为最基础的教育,更是不容忽视的,拼音,是帮助我们更好学习 ...

  4. python翻译成c语言_将python字典翻译成C语言

    字典将是c中的std :: map,具有两个元素的元组将是std :: pair. 提供的python代码将转换为: #include #include typedef std::map<:pa ...

  5. 计算机一级用英语翻译,江苏省计算机一级B 翻译成英语

    技校网专门为您推荐的类似问题答案 问题1: 全国计算机等级考试一级B 和 江苏省计算机等级考试 哪个级高?? 江苏省计算机等级考试难点,全国简单点,本质是一样的,如果有把握的话考一下江苏的吧!江苏的在 ...

  6. 每日分享:Word如何翻译成中文

    随着国际化程度的不断提高,我们的工作和生活中越来越多地接触到了各种外语文本.但是,在没有专业翻译人员的情况下,如何快速准确地将英文.法语等语言的文章翻译成中文仍是许多人头疼的问题.这时候,一款方便易用 ...

  7. 计算机专业英语文章翻译,计算机专业英语英汉双语文章翻译

    计算机专业英语英汉双语文章翻译 五项将改变世界的技术 It's a tall order: Over the next few decades, the world will need to wean ...

  8. Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(二)

    这是Managing Device Awake State的下半篇,上半篇请看:Android官方文章翻译之管理设备苏醒状态(Managing Device Awake State)(一) 在了解接下 ...

  9. Buildroot文章翻译

    OpenWRT文章翻译之(一)----OpenWRT Buildroot简介 原文地址:http://wiki.openwrt.org/about/toolchain Buildroot简介 话说Op ...

最新文章

  1. 【MediaPipe】(3) AI视觉,人脸识别,附python完整代码
  2. Xamarin 2017.9.13发布更新
  3. Spring Boot 2.x基础教程:使用国产数据库连接池Druid
  4. MultiBinding的StringFormat参数问题
  5. java中的深浅拷贝
  6. Elasticsearch 100问(上)
  7. JS-循环清空对象 判断数据类型的5种常用方法
  8. 使用 Python 切割图片
  9. mysql导入数据库注释乱码_source命令 导入.sql文件时,中文乱码 或者是注释乱码...
  10. 计算机网络之网络层:2、IP数据报、IP数据报分片
  11. html 好看的英文字体,23款网页设计师必备:经典私藏英文字体
  12. adb命令——简单常用命令介绍:截图——adb shell screencap -p /sdcard/123.png...
  13. 2010计算机录制宏步骤,在word2010录制宏的操作
  14. 5G+AIoT趋势下,智慧社区的发展机遇与趋势
  15. c 语言条件运算符,C 语言条件运算符详细讲解
  16. “龙腾计划”启动!邀请 500 家企业加入,与龙蜥社区一起拥抱无限生态
  17. Java 程序员月薪3.8万,需要技术达到什么水平?
  18. tensorflow之constant()函数
  19. WinXP下网上邻居不能访问的解决方法大全
  20. iOS生态链寄生数百万开发者:艰难求生面临决择

热门文章

  1. APB总线详解及手撕代码
  2. VIVADO生成bin固话FLASH
  3. 前端架构设计第一课 CI环境npm/Yarn
  4. ThinkPad R61、X61安装双系统(Vista32、XP)的一些常见问题及解决
  5. 海天蚝油《挑战不可能》夏伯渝获年度挑战大奖
  6. 企业微信通过群聊机器人用springboot发送信息
  7. Python学习(二)字符串与类型
  8. wi-fi以连接但无法上网_Wi-Fi无法扩展以弥合数字鸿沟
  9. 云计算机怎么实现办公,云计算让云办公有了六个新功能
  10. Connections could not be acquired from the underlying database