小品:Writer主控文档的体积之谜

写长文档的人为了加快文档打开、保存的速度,通常会被建议采用“主控文档+子文档”的多文档结构。那么到底多长的文档才值得增加文档数量呢?30页?100页?总之,你发现你的文档开启得越来越慢的时候,就可以考虑把原来的一个ODT文档输出为‘主控文档’(还有一堆自动生成的子文档)。今天要介绍的是这些新文档的体积变化。

据一份老外的比较报告(译言*),微软的Word在这方面经常造成灾难:“在 Word 的所有版本中,主控文档都有崩溃和毁坏子文档的倾向。这在 Word 2007 中并没有改变”。当然OOo可以幸灾乐祸了,Writer输出的.odm主控文档无论如何都不能改变子文档(.odt)的内容,它只保存对各子文档的连接和第一子文档的样式。

以上次介绍的硕士论文模板为例,先打开这个“ODF学位论文模板.ott”(odt也一样),然后,文件(F)》输出(D)》生成主控文档(D),在弹出的文件浏览窗口中输入文件名(这里是test),并选择想根据什么段落样式来分割原文档(这里选择‘标题1’,预期‘第一章绪论’就会成为单独一篇子文档)。如果真的是个‘长’文档,你会看到鼠标指针变成了繁忙的沙漏状,然后硬盘沙沙得响。最后,打开资源管理器,看到如下文档:odm-test-files

请找到:原始的‘ODF学位论文模板.ott’和新生成文档之一的‘test.odm’,后者是主控文档,当然,最显眼的是一排test1~test16.odt,这些都是子文档,由odm连接打开,也可以单独打开。现在明白了吧,所谓加快文档打开速度,就是你可以只打开某一个odt,直接打开或者从odm中打开,都行。来看完成‘生成主控文档’后的Writer编辑窗口:

现在的问题是,当这些个文档最终编辑完成,我希望它(它们)重新回到一个完整的长文档形式,该如何操作呢?

根据帮助文档的介绍,继续上面的试验,在odm编辑状态,直接 :文件(F)》输出(T)…,在弹出的文件浏览窗口,选择odt文件格式,文件名我先不说,你自己做试验。请问,新的odt文件体积和以前最早的那个传统ott相比,谁大?

按道理,新的odt和最早的ott应该大小类似,或者更大一点,因为编辑过程中可能又输入了一些内容。但你很奇怪的发现,新的odt体积只有很小的162KB,和生成的没啥内容的odm类似,为什么?时光倒转,回到刚才生成主控文档之后的Writer窗口,你看看:

odm-nolink-writer

问题在于连接没有得到更新。上图你是不可能看到的,因为pengtu把两个不同时间的窗口叠在了一起。当odm文档第一打开时,会出现一个小小的对话框,‘要更新所有连接?’,而我习惯性的回答‘否’。问题就出在这儿,当odm生成后,它必须有一次更新连接的过程,这样它才能读入那些连接指向的子文档的内容,否则,它就永远只能保存‘连接’这种的快捷方式,而不是子文档的真正内容。每一个到子文档的连接,就是上图显示的那些横线中的一条。

你可以重新打开odm回答‘是’,或者:工具》更新》全部更新,然后你的odm看起来就和以前的ott一样了,该有的文字都有。现在,再次输出odt,你就得到一个大的文档,就如第一张图中的 test_all.odt 那样,741 KB。最后提示一点,我们可以主动复制多个odm。

*注:译文标题为: “办公软件对决:OpenOffice.orgWriter vs. MicrosoftWord,第三局”

对《小品:Writer主控文档的体积之谜》有 2 条评论

  1. fadey sun 说:

    按照你说的试了一下,出现新的问题,就是最后通过“输出(T)”保存为odt文件后,仍然不是普通的odt文件,虽然那些子文档的内容都有,但是无法编辑,简单的改个行距都不行,是不是因为我把子文档都删了的原因?

  2. 大鹏 说:

    把子文档删了OOo就找不到源文件,所以无法编辑。不过由于上次编辑的子文档(区域)内容已经被读入主控文档,所以,你真想‘脱稿’编辑也是可以的,办法就是去‘区域’管理对话框删除要编辑的区域。区段消失后,里面的内容都会保留在主控文档内。
    odm-》更新链接-》文件-》输出(I)-》选odt文件格式。你可能错点了另一个‘输出(D)’。有两个叫‘输出’的菜单呢。

发表一条评论