背景:因为公司与香港有业务往来,经常需要做一些繁体字转简体字的操作。Office的文档好办,因为微软的Office软件本身带有繁体转简体的功能,但Adobe的文档就不好办了,因为Adobe的软件体系中找不到直接繁体转简体的功能。如不久前收到一个用InDesign做的繁体字文档,InDesign本身没有繁体转简体的功能,结果要一个字一个字地用肉眼查找和转换,效率非常低下。
需求:需要繁转简的文档以后还会陆续有来,由于Adobe产品体系是支持脚本运作的,那么是否存在能用于InDesign的繁体转简体的脚本呢?
现状:经过网上搜寻,确实能找到符合需求的,但要么要收费,要么代码下载失效。没办法,只能先研究一下InDesign自带的脚本,看是否找到方法。
发现:终于在InDesign里面菜单“窗口”>“实用程序”>“脚本”找到一个名为“FindChangeByList”的样例脚本,该脚本的说明是“通过读取制表符分隔的文本文件,执行一系列常见的文本查找/更改操作”。该文本文件的模板可以在InDesign安装目录的子目录.\Scripts\Scripts Panel\Samples\JavaScript\FindChangeSupport的目录下找到,文件名为“FindChangeList.txt”。
解决方法:根据模板文件创建如下每行格式的文本文件,然后在InDesign中先打开要进行繁体字转与简体字的文档,再运行FindChangeByList脚本,选择已建好的文本文件,稍等片会,indd的文档中繁体字就会变成简体字了。
text {findWhat:"皚"} {changeTo:"皑"} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false}
难点:就是繁体字转简体字的文本文件创建问题。目前常用的繁体字近1300个,一个一个敲是不现实的,可考虑使用自编的程序来创建,我就是用C#创建的。如不想或不会编代码的朋友,想直接使用现成的文本文件,可给我留言。
结语:现在使用这个繁体字转简体字的文本文件和FindChangeByList脚本,完成一个10-30页的indd文档的转换不超过1分钟,比之前的查找修改方式确是快了很多倍。