#xml #themes #powerpoint #uid
#xml #темы #powerpoint #uid
Вопрос:
В настоящее время я создаю свой собственный файл супер темы PowerPoint, объединяя несколько файлов вручную .thmx
.
Чтобы заставить это работать, xml нужно отредактировать вручную, я понял это, за исключением того, как UID для id
/ vid
properties .
Поделитесь со мной, поскольку я на самом деле не программист, больше проб и ошибок…
В конце каждого theme1.xml
файла есть UID- id
свойство. Я предполагаю, что это представляет id
собой супер тему, поскольку это id
должно быть одинаковым для всех файлов темы в Супер теме.
Я попытался повторно id
использовать файл темы, который я сохранил из PowerPoint, но это не сработало, я предполагаю, что это каким-то образом распознается как отдельный файл темы. Я также попытался позаимствовать UID из существующего файла super theme I, который работает, если файл темы уже не использовался в моей системе.
Аналогичным образом существует vid
свойство, которое представляет вариант супер темы и находится рядом id
с theme1.xml а также в themeVariantManager.xml в этом списке перечислены все варианты Супер темы. Я снова попытался использовать vid
из файла, который я сохранил из PowerPoint, но это не сработало. Но если я позаимствую vid
форму другого файла Супер темы, я заставлю его работать.
Поэтому я действительно хотел бы знать, как сгенерировать UID для использования для my id
, vid
чтобы я мог создавать их по мере необходимости.
Пример того, как id
и vid
используется в theme1.xml
<a:extLst>
<a:ext uri="{05A4C25C-085E-4340-85A3-A5531E510DB2}">
<thm15:themeFamily xmlns:thm15="http://schemas.microsoft.com/office/thememl/2012/main" name="MM Petrol" id="{62F939B6-93AF-4DB8-9C6B-D6C7DFDC589F}" vid="{EC7F02AD-9687-440F-A9DF-FAA6F22270D7}"/>
</a:ext>
</a:extLst>
Пример того, как vid используется в themeVariantManager.xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<t:themeVariantManager xmlns:t="http://schemas.microsoft.com/office/thememl/2012/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<t:themeVariantLst>
<t:themeVariant name="Grey" vid="{B8502691-933B-45FE-8764-BA278511EF27}" cx="12192000" cy="6858000" r:id="rId1" />
<t:themeVariant name="Petrol" vid="{EC7F02AD-9687-440F-A9DF-FAA6F22270D7}" cx="12192000" cy="6858000" r:id="rId2" />
<t:themeVariant name="Grey" vid="{B8502691-933B-45FE-8764-BA278511EF27}" cx="9144000" cy="6858000" r:id="rId3" />
<t:themeVariant name="Petrol" vid="{EC7F02AD-9687-440F-A9DF-FAA6F22270D7}" cx="9144000" cy="6858000" r:id="rId4" />
</t:themeVariantLst>
</t:themeVariantManager>
Я попытался найти справку по этой теме, но мне не повезло.
Я нашел это, что только заняло меня до сих пор…
Редактирование супер темы с помощью XML
Заранее спасибо…
Jakob
Комментарии:
1. Будет работать любой допустимый идентификатор GUID. Генератор GUID в Google, чтобы найти несколько бесплатных онлайн-инструментов.
Ответ №1:
Как всегда, после публикации вы определяете свой ответ… Я сохранил файлы .thmx, из которых я взял UID, в том же каталоге. Затем наличие 2 файлов .thmx с использованием одного и того же идентификатора UID опровергает идею UID, поэтому powerpoint был сбит с толку тем, на какой файл ссылались, и выбрал неправильный.
Выполнение той же процедуры, что и в первую очередь, но удаление исходных файлов .thmx из каталога темы решило мою проблему.
Ответ №2:
Я предполагаю, что вы это поняли, но идентификаторы — это просто случайные идентификаторы, если они согласованы в файле супер темы и не равны другому идентификатору в другом файле thmx, это должно работать. Несколько заметок, которые могут помочь вам:
- Супер тема содержит базовую тему (для обратной совместимости) в папке темы и остальные темы в
themeVariants
папке. - Каждая супер тема имеет идентификатор семейства тем, и он сохраняется в документах pptx, чтобы приложение могло выбрать нужную тему из галереи тем и заполнить варианты темы при открытии такого pptx. Он должен быть идентичным в каждом варианте темы.
- Каждая группа вариантов имеет идентификатор варианта для отображения различных вариантов в галерее вариантов темы. Если вы хотите, чтобы каждый вариант поддерживал несколько размеров, вы можете присвоить один и тот же идентификатор варианта темам с разными размерами, и в этой группе автоматически будет выбрано наиболее близкое соответствие источнику, и оно будет отображаться в галерее вариантов только один раз
В вашем примере кода я вижу Grey
, что вариант имеет другой размер, но указывает на тот же идентификатор отношения rId1
, что будет проблемой (аналогично Petrol
)
Итак, некоторые общие предложения,
- создайте для каждой темы уникальный идентификатор семейства тем, который вы создаете.
- пусть у каждой тематической группы (группы тем, которые могут иметь схожие функции, но поддерживают несколько размеров, например, вариант темы для размеров 16: 9, а другой вариант может поддерживать размеры слайдов 4: 3) будет один и тот же уникальный идентификатор варианта темы, который вы создаете.
- Начните с базовой (по умолчанию) темы (чтобы файлы темы по умолчанию находились в
theme
папке) - Добавьте все другие ваши темы в
themeVariantsvariantX
папки (вариант1, вариант2 и т. Д.). - Создайте / отредактируйте
themeVariantManager.xml
, как вы подготовили, со списком всех добавленных файлов thmx. Используйте тот же идентификатор варианта темы, который вы определили для каждой группы.
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<t:themeVariantManager xmlns:t="http://schemas.microsoft.com/office/thememl/2012/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<t:themeVariantLst>
<t:themeVariant name="Ion" vid="{292E63A9-BB86-4E3D-B92A-7223C6510D2E}" cx="12192000" cy="6858000" r:id="rId1" />
<t:themeVariant name="Ion" vid="{BACC050B-8757-4460-95D8-E37B46A6B421}" cx="12192000" cy="6858000" r:id="rId2" />
<t:themeVariant name="Ion" vid="{A207AED3-9ABC-4A18-9978-A59B65688B15}" cx="12192000" cy="6858000" r:id="rId3" />
<t:themeVariant name="Ion" vid="{5A2F9111-B2DB-470C-BA56-608F9B658826}" cx="12192000" cy="6858000" r:id="rId4" />
<t:themeVariant name="Ion" vid="{292E63A9-BB86-4E3D-B92A-7223C6510D2E}" cx="9144000" cy="6858000" r:id="rId5" />
<t:themeVariant name="Ion" vid="{BACC050B-8757-4460-95D8-E37B46A6B421}" cx="9144000" cy="6858000" r:id="rId6" />
<t:themeVariant name="Ion" vid="{A207AED3-9ABC-4A18-9978-A59B65688B15}" cx="9144000" cy="6858000" r:id="rId7" />
<t:themeVariant name="Ion" vid="{5A2F9111-B2DB-470C-BA56-608F9B658826}" cx="9144000" cy="6858000" r:id="rId8" />
</t:themeVariantLst>
</t:themeVariantManager>
- Создайте / отредактируйте
themeVariantManager.xml.rels
файл с путями к каждому варианту с указанным вами идентификатором связи.
<?xml version="1.0" encoding="utf-8"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/theme/theme/themeManager.xml" Id="rId1" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant1/theme/theme/themeManager.xml" Id="rId2" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant2/theme/theme/themeManager.xml" Id="rId3" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant3/theme/theme/themeManager.xml" Id="rId4" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant4/theme/theme/themeManager.xml" Id="rId5" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant5/theme/theme/themeManager.xml" Id="rId6" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant6/theme/theme/themeManager.xml" Id="rId7" />
<Relationship Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="/themeVariants/variant7/theme/theme/themeManager.xml" Id="rId8" />
</Relationships>
(Посмотрите на rid, определенные в этих двух файлах. Дайте мне знать, если что-то неясно.)
Комментарии:
1. Спасибо, позже я заметил неверный идентификатор строки. Я отредактировал их сейчас, чтобы они отображались правильно, если кто-нибудь посмотрит на это для справки.
Ответ №3:
Я удивлен, что об этом так мало информации, учитывая, что они существуют с 2013 года, если я правильно понимаю.
Возможно, вы или кто-то другой можете поделиться некоторыми рекомендациями по использованию SuperTheme (.tmx) или Templates (.potx) в качестве настройки компании, например, pro и con.
Насколько я понимаю, тема может хранить только макет, цвета и формат по умолчанию, но с возможностью иметь несколько, между которыми вы можете легко переключаться. Шаблоны могут включать один или несколько шаблонов слайдов, каждый с разными цветами, но не для переключения между ними. Однако шаблоны могут включать в себя несколько готовых слайдов.
Но я не вижу, чтобы их можно было комбинировать, т. Е. Чтобы Шаблон мог использовать тему. Затем вам нужно создать обычный слайд (.pptx) и работать с ним.
Комментарии:
1. Главное здесь правильно, шаблоны включают тему несколько слайдов. Темы не содержат слайдов. Супер темы содержат несколько тем вместе, но они не сохраняются в файлах pptx. Итак, чтобы использовать super themes, вам необходимо установить / скопировать super theme в папку пользовательских тем на компьютере, на котором она будет использоваться. У вас может быть шаблон, использующий вариант супер темы, предполагая, что супер тема установлена / добавлена на этот компьютер. При совместном использовании файла pptx будет доступен только примененный / выбранный вариант темы, а не супер тема. Надеюсь, это поможет.