【发布时间】:2013-01-12 10:51:11
【问题描述】:
我正在使用 .docx 文件,其中包含多个插入图像的绘图画布以及在 Word 2010 中绘制的一些线条和箭头。我使用的是 2010 格式,没有兼容模式。
Word 在每个 v:shape 和 v:group 元素中插入一个 o:gfxdata 属性,并用 ascii 编码的内容填充它。根据我的阅读,它可能是描述v:shape 或v:group 的VML 副本。我不知道我是否只是不知道要查找什么,但我无法确定这些数据的用途,因为删除它对我在 Word 2003、2007 或 2010 中阅读或编辑文档的能力没有明显影响.
它确实将 document.xml 膨胀到几乎两倍(明显的)必要大小。这相当地减慢了 OpenTBS 的处理速度,所以如果可能的话,我想将其删除。有谁知道告诉 Word 2010 停止保存这些额外数据的方法?或者它是干什么用的?除了this post,我真的很难找到任何关于它的文档。
编辑:
这是sample .docx。 document.xml 约为 141KB,OpenTBS 平均需要 10.35 秒来创建一个将其作为子模板包含 21 次的文件。如果我删除所有 o:ogfxdata 属性,文件大小会减少到 ~37KB,OpenTBS 只需 2.99 秒即可生成相同的文件。
编辑 2:
经过进一步调查,似乎删除 o:gfxdata 可能会导致安装了旧兼容包的 Word 2003 反对该文件并出现以下错误:
"这是兼容包的预发布版本,可以打开 仅预发布 Office 2007 文件。你想检查一个更新的 兼容包的版本?”
我已经能够通过安装更新的兼容性包来打开文件 - 尽管它会提示用户不兼容并转换文件以便打开它。这不会损坏我的文件,但需要注意。
【问题讨论】:
-
你能提供一个docx作为例子吗?
-
我已经编辑了帖子以包含示例文件和一些基准。感谢您阅读。
标签: ms-word vml wordprocessingml opentbs drawingml