今天上午和 ChatGPT 对话的过程中,它给我推荐了一本书 Modern China: A Very Short Introduction。在下载到这本书之后,我大致浏览了一下,一不小心瞥见了第四章开头作者 Rana Mitter 引用的民国新闻记者、出版家 邹韬奋 的一句话:
Not every person’s natural intelligence or strength is equal. But if each person develops his mind towards service and morality … so as to contribute to the mass of humanity, then he can be regarded as equal. That is real equality.
作为中文母语者,好奇心的驱使让我想知道这句话的中文原文是什么,当然也可以借此顺便了解一下邹韬奋其人。于是我去搜索了一下邹韬奋的相关著作,幸运的是,我搜索到了十四卷的《韬奋全集》,直觉告诉我,这套书里面肯定有这句话。不过不幸的是,下载得到的电子书是一个压缩包,解压缩之后是一系列扩展名为 .pdg
的文件,macOS 无法识别、也无法打开它们。
PDG
尽管有在线工具可以将 PDG 文件格式转换为 PDF,但由于这本书的体积过大,超过了网站的限制,无法实现在线转换。既然如此,我就决定来研究一下 PDG 格式,看看能不能实现在本地转换。搜索一番之后,发现 PDG 文件是超星公司特有的电子书格式,需要专门的阅读器才能打开。在 Windows 平台上,可以使用 Pdg2Pic 这款软件将 PDG 转换为 PDF,然而 macOS 上没有类似的软件。
不过我没有放弃,还是在 GitHub 上搜索了一下,想看看有没有什么开源的实现方案。在 GitHub 中搜索关键词 pdg to pdf,可以搜到 3 个相关的仓库,其中两个是用 Python 写的,还有一个是用 macOS 上的 Automator 实现的。它们的 README 中都提到「PDG 格式本质就是一种图片」,从代码实现思路来看,也证实了这一点。尽管受到了这一点的启发,但我并没有使用它们,而是参考 这个仓库 的思路,通过 Shell 脚本来将 PDG 转换为 PDF,在 ChatGPT 的帮助下写了以下这几行代码:
|
|
上面的代码首先使用 rename
命令批量将 .pdg
修改为 .jpg
,在 macOS 上可以使用 Homebrew 快速安装 rename
:
|
|
接下来按照书籍页面的顺序将 JPEG 文件排序,使用 ImageMagick 中的 convert
命令将其合并为一个 PDF,输出为 output.pdf
。需要注意的是,ImageMagick 同样需要额外安装:
|
|
事实上,这几行代码的作用与我此前介绍的「图片转 PDF」是类似的,只不过多了一个修改文件扩展名的步骤。不过,在弄清楚 PDG 的真正面目之后,这一步也是可以省略的。
我们假设当前目录中有一个 test.pdg
的文件,在终端中输入 file test.pdg
,按下回车之后会输出以下结果:
|
|
可以看到,输出结果中赫然出现了 JPEG image data
,说明 PDG 就是常见的 JPEG 格式。因此,我们可以简化上述 Shell 脚本,直接使用 ImageMagick 将 PDG 转换为 PDF,而不需要修改文件扩展名:
|
|
将上述 Shell 脚本的最前面加上 cd "$KMVAR_curr_folder_loc"
,用于进入工作目录,然后将整个 Shell 脚本添加到 Keyboard Maestro 中,就可以制作一个将 PDG 转换为 PDF 的 macro,如下图所示。
激活这个 macro 之后,只需点击一下菜单栏中的图标,就可以轻松将访达中选中的文件所在目录中的所有 PDG 文件转换为一个 PDF1。
如果有需要,你还可以对转换得到的 PDF 进行 OCR,以便批注或搜索其中的文字。在完成这一步之后,我终于在《韬奋全集(第一卷)》第 739 页找到了 Rana Mitter 所引用的邹韬奋的中文原文:
这样的做去,各人天生的聪明才力虽不平等,而各人的服务道德心发达,各就平等的出发点而尽量发展,以贡献于人群,也可算是平等了。这是真平等。
OFD
在搞清楚 PDG 格式之后,我想起了之前有同学问过我的国产 PDF 格式——OFD,想顺便看看这又究竟是一种什么格式。根据 IT 之家 的介绍,OFD 是 Open Fixed-layout Document 的简称,是一种所谓「版式文件」,对标的是 PDF,它最大的特点是中国自主研发、自主制定的版式文件格式标准,
众所周知,PDF 的最大特点是「保真性」,即文件外观不会因操作系统或软件类型发生改变。那么「相比 PDF 有一些技术上的优势的 OFD」是否也有这种特征呢?一探究竟的前提是获得一个 OFD 文件,而我实在是无法在本地生成这样一个文件,好在 GitHub 上有人上传了一个 OFD 文件,于是我就用它测试了一番。
首先,将下载得到的 OFD 文件重命名为 test.ofd
,在终端中输入 file test.ofd
,得到如下结果:
|
|
可以看到,这是一个压缩文件。作为对比,在终端中输入 file test.pdf
的输出结果如下:
|
|
既然确定 OFD 是压缩文件格式,自然就可以将其解压缩,使用如下命令:
|
|
将 test.ofd
解压缩到文件夹 unzip
中,其中包含以下内容:
|
|
可以发现,如 IT 之家的那篇文章所说,OFD 内部的确采用了可扩展标记语言 XML 来描述数据和结构,但「体积精简,安全开放」就完全说不过去了。事实上,只要修改一下 XML 文件中的内容,然后再在文件夹 unzip
中使用命令:
|
|
将其压缩回 OFD 文件格式,就可以轻松实现文件内容的修改2,何谈「精准呈现、安全有保障」?就算 OFD 采用了额外的加密算法来防止篡改,仅采用 XML 描述文件这一点就已经被 PDF 甩开几条街了,更不用说普通消费者要想将 Word 文件转换为 OFD,还要先将其转换为 PDF。不得不说,标准制定者和开发者的脑回路实在是很清奇,难怪 网友评论 道「放着世界通用便捷的 PDF 不用,不知道为什么要搞这种小众格式,折腾」。
Recap
前几天,数字广东网络建设有限公司发布的「CEC-IDE 软件研发工具」引起了不少 讨论,因为他们基于开源的 VS Code 开发了一个套壳软件 CEC-IDE,并宣称这是「国企品牌,自主研发」。而这已不是第一次类似的案例了,去年 10 月,国内有人将免费的 VS Code 放在网上 销售,「领取 20 元优惠券即可以超低价 39.7 元购买 VS Code 代码编辑器官方中文版」,实在是让人无语至极。
以上这几个例子,只是软件开发领域所谓「自主研发」的冰山一角,如果从整个中国经济社会来看,这样的现象可能更加数不胜数。对于这样的现象,也许借用学者刘亭的 评论 足够恰当:
中国最大的悲剧,就在于对这些「放之四海而皆准」的普遍真理,始终幻想着能够超然物外、特立独行,并且最终另辟蹊径、别开生面。虽然一时间轰轰烈烈,虽然说起来貌似有理,但在无情的岁月流逝和历史变迁面前,最后都不得不回到起点,重头再来。
而中国近代启蒙思想家严复3 在一百多年前就说过:
中国之政,所以日形其绌,不足争存者,亦坐不本科学,而与通理公例违行故耳。是故以科学为艺,则西艺实西政之本。设谓艺非科学,则政艺二者,乃并出于科学,若左右手然,未闻左右之相为本末也。
为什么今天依然还是在兜兜转转,裹足不前?