Супер тема Powerpoint, создание файла .thmx вручную и редактирование файлов xml

#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 будет доступен только примененный / выбранный вариант темы, а не супер тема. Надеюсь, это поможет.