整理硬盘,从中翻出了一本DK牛津英汉双解大词典PDF,里面的图片还算清晰,而这本词典文字部分可以算是COD9的再编本,刚好现在有了COD9,想着可以利用其词头做个图片版,于是开始动手。
首先是要整理出每页首字。利用abby fineReader OCR整个pdf,然后保存为每页一个txt文件的形式,主要是便于提取页眉字头。保存为word理论上利用vba也可以提取出页眉字头,可我搜了半天,找不到能利用的api,而保存为每页一个txt文件的形式,页眉字头就在每个txt文件的前两行(页眉无页码的情况)或前三行(页眉有页码的情况),这样利用程序只需依次读取txt文件即可。我用的是C#代码:
var myDir = @"D:\Dicts\ENCN\COD9ENCN\DKtxt";
var files = Directory.GetFiles(myDir);
var list = new List<string>();
foreach (var fi in files)
{
var sr = new StreamReader(fi);
var leftWord = sr.ReadLine();
//var pageNumber = sr.ReadLine(); //如果页眉有页码,则需要读取页码
var rightWord = sr.ReadLine();
list.Add($"{leftWord }\t{rightWord}");
}
var saveFile = @$"D:\Dicts\ENCN\COD9ENCN\wordhead.txt";
File.WriteAllLines(saveFile, list);
这样处理后就得到了这个pdf每页的第一个单词和最后一个单词,当然,由于OCR的准确率并非百分百,所以还需要人工校对。把生成的结果复制进excel,主要是检查词头是否缺失或有误,页面左右词头是否颠倒。利益于pdf的清晰度,整个检查过程也就一个多小时。校对基本完成后,把COD9的词条复制到excel中,与校对过的词头页码vlookup,定位条件选择空白,填充,即可得到COD9词条的全部页码信息。
最后把COD9词条和页码信息复制到_img mdx source file converter20220909.xlsm,在pdf导出为jpg图片后,依次填写相关信息,点击简单版图片mdx转换。这一步没想到报了个“溢出”的错误,查看代码,估计是词条太多了,Integer不够用了?把Integer改为Long,大功告成(于是也算解决了个转换工具的bug):
PS:如果能把这本词典的插图都截取出来,与COD9配合使用,那是再好不过了。虽然有人做出过这本词典的切图版,可终究是未公开。研究了一下PS的抠图和网上的一些抠图的代码,无法成功,只得暂时作罢。
下载地址:
链接: https://pan.baidu.com/s/1SKf1ixvzK_Z5ETLaBva9kA?pwd=65mr 提取码: 65mr
这个和/cod9和牛津现代英汉双解词典第九版的差异对比/文章中的下载内容是一样的吗?看百度网盘里的文件名、大小、日期都一样
你好,链接失效了,能私发分享吗,可以有偿付费,可以私谈
这本词典的内容相对COD9多有删减,不是亲儿子,建议对里面的图单独抽取,取其精华。