Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

在OpenOffice.org和微软Office之间共享文档

08/16/05。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


原文:Sharing files between OpenOffice.org and Microsoft Office。翻译可能也比较随意。
本文版权请向原文网站及原作者咨询。仅在已经获取原文使用权的情况下,以下文字可自由使用。本翻译未获原网站或原作者授权。

要用OpenOffice.org,不可避免的问题之一就是如何同MS Office共享文档。有些人可不想这么做,他们会建设使用HTML/PDF/RTF来共享,但这仍然不是长久之计,特别是你的老板用MS Office的时候。其实这件事不难,只要搞明白什么能共享,什么不能,两边都不会再感到头痛。

在OpenOffice.org中,用File > Wizards > Document Converter就可以把一个目录下的所有微软文档都转换成OpenOffice文档,如果你只在乎内容,而忽略一些小的格式上的不便的话,这个小工具就足够了。

在OpenOffice.org 2.0中,把一个文件输出为MS Office文档已经非常简单。但总还有一些MS的特性不被OOo支持或不能完全支持,这些不能完美支持的特性在输出时就会简单抛弃掉。所以,要完美共享文档的前提就是搞明白哪些特性能被OOo完美支持。


共享的准备

第一步是要确定一个输出过滤器,OOo2.0支持Word 6.0, 97/2000/XP以及2003xml几种,这里,请坚持选用97/2000/XP这个,因为它是目前毛病最少的过滤器,虽然不完美也不是最新格式。(OOo对MS格式的理解是通过猜测实验或许反向工程的手段进行的,不可能是完美的。译注)

第2步,如果格式很重要,请确认在OOo里所用的字体在MS Office里面也能使用。否则,MS会用相同字号的Times Roman字体来替换所有找不着的字体,这样格式就全毁了。在从Linux共享到Windows的时候,这个问题可能会比较严重,但不论什么平台,最好都确认一下。

如果你坚持只用标准字体,即Times Roman 或 Helvetica(中文应该坚持用宋体-Simsun或用黑体作为强调,不要用粗体,因为Linux平台对中文粗体的支持还有点麻烦。在正规出版物上中文也没有粗体的用法。)如果在所有机器上都安装了OOo,还可以使用Bitstream Vera字体,这是一个TTF的开源字体,但它的效果可能会比较柔和一些。如果你对美术效果比较在意,解决方法是在所有机器上装上所有字体(请先检查许可协议),或者用PDF来共享文件。

如果你用了非标准字体,请记住名字一样绝不意味着字体真的效果一样,比如有许多字体名字叫Garamond,但它们中间只有很少一些是相同的。对中文而言,微软字体、中易字体、方正字体、华文字体等相同名字之间也都有不小的差别。更麻烦的是,这些字体对Linux而言都有麻烦,简单地用宋体或黑体或仿宋或楷应该是推荐的。

下面对OOo自己进行设置。首先,选中所有在Tools > Options > Load/Save > Microsoft Office下面的选项,这可以提升OOo对OLE的支持--仅在支持OLE对象的系统上有效。其次,选中所有在Load/Save > VBA Properties中的选项,这样就可以在OOo另存时保存文档中的VB脚本(OOo不会执行这些脚本),如果不选中,则这些VB脚本就会被扔掉。

事先注意这些事可以极大地减轻共享文档的痛苦。但如果想在共享中完美地保留格式,则还需要一些手段。而如果你在设定格式时使用样式,而不是手工设定字符和段落,则这个手段会变得很简单。样式可以保存在一个模板文件中,因此你只需要设定一次即可。最重要的是,字符和段落的样式可以完美地从OOo Writer迁移到MS Word,这样就容易多了。

在开始共享文档之前,打开一个空白的Writer窗口,选中Tools > Options > OpenOffice.org Writer > Compatibility中的选项。其中有一些是为了兼容StarOffice--OOo的商业版本,但其中有半数都是为了兼容MS Word。其中有些设置,是为了让OOo像MS Word那样增加行距和对象边距的:

  在段落和表格之间添加空白(当前文档)
  不在行间增加额外间距
  在表格单元的底部增加段落和表格间距
  定位对象时考虑折行

如果是在导入MS Word文档,应该选中“在页顶部(当前文档)增加段落和表格间距”。如果所有的电脑都使用同一型号的打印机或PS打印机,则不论导入还是导出,都应该选中“在格式化时使用打印机单位”。这一选项提供了一个独立于软件的通用标准。(注:这些选项相当有用,以前打开一个有表格的Word文档时,经常出现格式超高的情况,这样设置即可消除。)

在设置时,可以点击Use as Default(设为缺省值)来把你的选择设为缺省值。也有些设置只针对当前文档,这可以通过保存为模板来保留:File > Template > Save。


在Writer和Word之间共享文档

有了以上的设置,共享文档应该问题就比较少了。可能的困难包括插入对象和页面级别的格式化。

字符和段落格式,不论手工设置还是使用样式,通常迁移是简单的。如果所用的字体都有,则字体、字号、效果以及定位都是没有问题的;字符旋转和字体宽度的变化亦无迁移问题。基本的段落格式也是同样,比如行间距和Tab(制表符)。OOo使用的列表格式是MS Office不支持的,但同本个列表样式相联系的段落可以在Word中也使用相同类型的列表。段落格式中不被MS Word支持的特性包括自定义连字符,分页,两端对齐的段落的最后一行,这些元素会因为Word的缺省设置而被抛弃。所以结果就是分页和断行会有些微的不同--多数也不过在行数上多了一行。

在OOo的早期版本中,有序列表(用数字做前缀的)和无序列表(用各种符号做前缀)在转换中是个问题,主要是因为它和Word在无序列表中用不同的字符来做前缀。但在2.0中,这个问题基本没有。使用特殊字符做前缀仍旧会有问题,那是因为OOo用了Unicode,而Word仍旧使用Ansi字符,除此之外,高级的如前缀(数字或字符)前后的文字都可以正确的转换。关于列表最大的问题在于Tools > Outline Numbering的使用,它会让存为MS Word格式不能成功。

多数域的使用也没有问题,包括页码,交叉引用和目录。实际上,即便是自定义的目录,比如页码在前,都可以成功地在Word中打开。而另外一些域,比如要依赖于文档属性的字数统计,会被转成普通文本,这在两个软件中来回转换时必然要出问题。还有些和条件文本有关的域在Word中完全不工作,如隐藏文本,隐藏段落和输入列表。隐藏文本在Word中直接消失,隐藏段落会显示出来,而输入列表会固定在当前的选择上。

插入对象的情况比较复杂,许多普通的对象可以正常使用。超链接可以,除非它带着个帧,同样的还有备注和修订信息。

图片的设置,包括尺寸、锚定和对齐都没有问题,但如果在Writer中设定了Align as Character会比较麻烦,这种情况下Word会不显示这个图片。复杂的表格和边框设置一般没有问题,但嵌套表格在Word中不能工作。用绘图工具绘出的图形没有问题,但图形编号以及复杂图表也不行。脚注一般没有问题,但一般会有页码重排的麻烦,所以最后还是在文档最后做尾注。

也有不少对象是不能转换的,包括动画和嵌入的OOo文档。在Linux上用OOo时,来自Word文件的OLE对象也不能转换,因为操作系统根本不支持它们,除非是在Insert > Object菜单下列出的那些。

另外一些不能成功转换的东西多是和页面布局有关的,因为MS Word根本没有考虑印刷问题。页面样式中的页边距可以保留,但页面样式自己会丢失。同样的还有除去第一个之外的所有页眉和页脚,以及为它们设定的边框和阴影。同样,文本框可以转换,但它们的设置会丢掉。Section不行,甚至更麻烦的它们还会被当作分页符,此外还有密码保护和隐藏设置。而文本框或Section中分成多栏的,经常会只显示前面几行。

对于主控文档这种概念,既不能导入也不能导出。


在Calc和Excel之间共享文档

这两个速算表程序之间转换问题主要是函数,基本的函数,比如SUM, AVERAGE, 和 MAX 通常没有问题。但另复杂的函数可就未必,使用之前请查阅在线帮助。虽然Calc是按同Excel兼容的目标设计的,但它们都有专用的函数。其中除了缺乏某函数之外,还有Calc会有两个相似的函数,第一个是正常使用的,第二个是专为兼容Excel设计的。WEEKNUM可以根据ISO 6801来计算给定数据的星期数,WEEKNUM_ADD却是专门兼容Excel的相同功能的函数。

如同Writer一样,对象的情况也很复杂。特殊的图表是不行的,页面和单元格样式也不行,尽管使用样式的单元格的格式可以保存。


在Impress和PowerPoint之间共享文档

在OOo2.0中,PPT的过滤器比以前要可靠得多。比如,不能转换主幻灯片中的背景图片的毛病已经没有了。幻灯片的导出也相当可靠,虽然还需要一些实验。但OOo Impress生成的GIF动画在PowerPoint中仍旧不能打开。另外,复杂的图表也不可靠。所以推荐用Draw来生成图表,再转成通用的图片格式再插入。

从PowerPoint中导入时,要注意到Impress不会理会多数声音的设置。尽管Impress在2.0中已经增加了对更多种声音格式的支持,但它仍然缺乏记录声音和对话的工具,也不能在幻灯中播放CD音轨。Impress中的声音仅限于单张幻灯片中。另外,Impress也不支持PowerPoint的打包功能,也不能把所有图片声音和字体都保存到CDROM中。


共享Draw文件

Draw自己的格式,odg/sxd,都不被MS Office支持。但Draw可以输出多种常见的图形格式,包括png/gif/jpeg在内。这些格式都可以被MS Office插入。所以共享方案只能是保留原始文件,但输出成图片。


结论

这还不是一个完整的能否工作的特性列表,事实上也还没有这个列表。在线帮助已经提示了可能存在问题的地方,但现在的MS Office并未把OOo 2.0当回事,甚至还表现出一些不必要的偏执。

最后,如果真有什么在两套Office软件之间共享文档的秘诀的话,那就是:保持简单。格式越简单,就越少问题。对象,页面设置以及超出文字和段落以外的样式都可能出现问题。

还有必须记住的是,除非是最简单的情况,否则情况不大可能是完美的。在办公软件之间共享文档总是很难的。对商业公司来说,设计输入输出过滤器是非常昂贵的,对自由软件开发者来说又完全没有吸引力。更由于MS使用专有格式,而且还经常改来改去,开发者只能用反向工程的手段,这样就更难以进步了。

在这种情况下,共享文档时有些问题再正常不过,倒是如果你能完美共享的话还真是令人惊奇。


08/16/05 13:50:56,由cathayan发表。目录:电脑

7条评论

好文章!这样的翻译对推广OOo大有益处。

我觉得OOo与ms的解决策略是不同的,如果非要比较A对B的兼容性,那么A肯定显弱了。就象AMD的芯片不喜欢和intel一样只用主频来表示CPU的快慢,于是发明了 1.7+这样的经典说法。

拿幻灯片来说,Impress为什么需要打包成CD?他根本不需要啊,只有powerpoint才需要,因为ms的东西都自有格式,他自己不解决发布的问题,没有别人帮他解决。
而OOo不同,他让Impress能够导出公开的flash文档(*.swf),哪里还需要什么‘CD打包’?

http://pengtu321-ooo雅虎中国 pengtu 于 08/16/05 16:23:03 发表. 

我最常导出的是PDF,这个功能实在太好了。

http://blog.cathayan.org/member/1 cathayan 于 08/16/05 16:44:57 发表. 

欢迎访问蛋蛋蛋网!

蛋蛋蛋网:轻松活泼的OpenOffice.org推广站
http://OOo.yjrg.net/
提供教程分享、下载提速、心得交流
全自动注册,同时支持支持简、繁体
来自一见如故BBS的蛋蛋蛋版面。

http://OOo.yjrg.net/ pengtu 于 08/16/05 16:56:20 发表. 

哈哈,这些大块头我都用不到,
在WIN下,读DOC用WordPad,
在L下,读文件用VIM
几乎没什么问题……我看的基本都是TXT~
需要什么格式,用到系统上再排……

个人应用,
哈哈~

http://blog.live21.org Live21 于 08/16/05 22:09:51 发表. 

wopai评论点了.

http://读到 命名 于 10/19/05 10:20:36 发表. 

2.0跟以前的版本的兼容性完全不是一个档次了,非常好,所以这次花了一整天时间来编译安装。值。

http://xyc413 Kevin 于 10/23/05 20:44:49 发表. 

debian sid里的装了,居然跟中文locale有冲突,不知道什么时候能改好。

http://blog.cathayan.org/member/1 cathayan 于 10/24/05 00:07:39 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.