MS Word, DOCX, Open XML - применение тем путем изменения XML
Нужно применить тему из одного текстового документа (DOCX) к другому посредством манипулирования XML.
Дорога, по которой я иду, -
Папка word/themes содержит хотя бы одну тему #.xml и может иметь папку rels, содержащую файлы отношений. Я решил не трогать папку rels и скопировать всю тему #.xmls (как может быть больше одной), присутствующую в папке word / theme. Это работает для меня.
У меня есть две проблемы по этому поводу:
1. Нужно ли добавить файл theme1.xml.rels, присутствующий в word\theme_rels? Он содержит отображение одного изображения в папке word\media. Нужно ли добавлять изображение тоже?
2. Для нескольких тем, таких как "Quotable", theme1.xml содержит одну ссылку в узле "a:fmtScheme" на идентификатор отношения, вероятно, для 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 в документе, в который попадает тема применяется (например, это может быть rId5 для styles.xml). Итак, мне нужно изменить это в theme1.xml при копировании, чтобы работать правильно.
Любая помощь будет принята с благодарностью.
1 ответ
Если этот XML появляется в theme1.xml, "rId1" - это ключ в theme1.xml.rels, а не document.xml.rels. Идентификаторы отношений (rId#) уникальны в исходном XML-документе, но не уникальны в общем пакете (файл.docx).
Так как этот <a:blip>
элемент, отношение будет к части изображения, например, image1.jpg. Я подозреваю, что это кавычка большого размера, которая появляется перед выдвижной цитатой.
Если вы хотите, чтобы он отображался правильно, вам нужно убедиться, что эти отношения и их целевые части реконструированы в вашем целевом пакете. Это будет означать "да", вы захотите добавить файл theme1.xml.rels в нужном месте, а также файл изображения, на который он ссылается.