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

原文: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使用专有格式,而且还经常改来改去,开发者只能用反向工程的手段,这样就更难以进步了。 在这种情况下,共享文档时有些问题再正常不过,倒是如果你能完美共享的话还真是令人惊奇。 http://blog.cathayan.org/item/1038

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nimomeng的自我进阶

Event官方文档

当系统传递一个touch event,首先会send到一个特定的view。对于touch view来讲,这个view就是被hitTest:withEve...

1252
来自专栏向治洪

iOS开发入门笔记

iOS开发入门笔记 本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发i...

4606
来自专栏有趣的django

博客园美化终极版-(自定义导航栏)----什么CSDN、简书、腾讯云专栏、个人博客和微信公众号都弱爆了

7390
来自专栏Jaycekon

Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)

概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容。主要是对电脑笔记本以及他们的属性进行抓取,然后在使...

4415
来自专栏听雨堂

从MapX到MapXtreme2004[2]-图层操作

Mapx中基本的图层操作还是比较简单的,集中在对Layers和Layer的处理上,对别的没有太多要求。   在MapXtreme中,要完成类似功能,发生了一点...

2268
来自专栏Material Design组件

Human Interface Guidelines —— Pickers

1072
来自专栏我的小碗汤

极致简洁的markdown编辑神器

Markdown 其实向来是文字爱好者和码农们的小众需求,市面上也涌现出了形形色色的 Markdown 编辑器,Mou、Typed、Ulysess、Macdow...

2585
来自专栏冰霜之地

WWDC2016 Session笔记 - Xcode 8 Auto Layout新特性

Incrementally Adopting Auto Layout是什么意思呢?在我们IB里面布局我们的View的时候,我们并不需要一次性就添加好所有的con...

913
来自专栏QQ音乐技术团队的专栏

web实时长图实践

本文将介绍几种浏览器端和服务器端 web 实时生成图片的方案,欲知详情请看文章详情。

1.3K8
来自专栏青玉伏案

iOS开发针对对Masonry下的FPS优化讨论

今天博客的内容就系统的讨论一下Masonry对FSP的影响,以及如何更好的使用Masonry。如果你对iOS开发足够熟悉的话,那么对Masonry框架应该不陌生...

2616

扫码关注云+社区

领取腾讯云代金券