0

需要通过操作 XML 将主题从一个 word 文档 (DOCX) 应用到另一个。

我正在经历的道路是 -
word/themes 文件夹至少包含一个 theme#.xml 并且可以让 rels 文件夹包含关系文件。我决定不触摸 rels 文件夹并复制 word/theme 文件夹中存在的所有 theme#.xmls(可能不止一个)。这对我有用。

我对此有两个担忧:
1. 我是否还需要添加 word\theme_rels 中存在的 theme1.xml.rels 文件?它包含映射到 word\media 文件夹中的一个图像。我还需要添加图像映射吗?
2. 对于“Quotable”等少数主题,theme1.xml 在“a:fmtScheme”节点中包含一个对关系 id 的引用,可能用于 DrawingML 和形状。

例如:

<a:blipFill rotWithShape="1">
<a:blip xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" r:embed="rId1">

由于此处的“rId1”指的是styles.xml并在word_rels\document.xml.rels中维护,我担心的是word_rels\document.xml.rels映射到styles.xml不能是主题正在获取的文档中的rId1应用(例如这可能是styles.xml 的rId5)。那么,在复制时是否需要在 theme1.xml 中更改它才能正常工作。

任何帮助将不胜感激。

4

1 回答 1

1

如果此 XML 出现在 theme1.xml 中,则“rId1”是 theme1.xml.rels 中的键,而不是 document.xml.rels。关系 ID (rId#) 在“源”XML 文档中是唯一的,但在整个包(.docx 文件)中不是唯一的。

因为这是一个<a:blip>元素,所以关系将是一个图像部分,例如 image1.jpg。我怀疑这是一个出现在引文前面的大引号图像。

如果您希望它正确显示,您需要确保在您的目标包中重建这些关系及其目标部分。这意味着“是”,您需要在正确的位置添加 theme1.xml.rels 文件,以及它所引用的图像文件。

于 2014-07-16T09:27:54.087 回答