26. Автоматизация с использованием данных JSON
Вы можете использовать данные в JSON для дублирования диаграмм, которые были созданы как шаблон, и предоставить им новую таблицу данных. Вы можете контролировать порядок использования определенных шаблонов для создания новой презентации. Кроме того, шаблоны можно применять множество раз.
И шаблоны PowerPoint, и данные JSON можно хранить локально и удаленно. Данные JSON можно даже создавать динамически в веб-службе.
- 26.1
- Структура данных JSON для think-cell
- 26.2
- Использование данных JSON для создания презентации
- 26.3
- Удаленное предоставление данных JSON
- 26.4
- Удаленное предоставление шаблона
- 26.5
- Удаленная обработка данных JSON
26.1 Структура данных JSON для think-cell
Пример данных JSON для think-cell приведен ниже. Его можно найти в файле sample.ppttc
в папке ppttc
в каталоге установки think-cell. Файл JSON определяет презентацию, которую требуется создать за счет объединения шаблонов. Файл соответствует схеме в ppttc/ppttc-schema.json
.
На корневом уровне находится массив элементов. Каждый элемент определяет файл шаблона и данные для его диаграмм. Можно объединять различные шаблоны, а один шаблон можно использовать несколько раз. В самом простом случае один шаблон используется для заполнения всех диаграмм, которые содержатся в этом шаблоне, данными.
Каждый элемент в массиве объединенных шаблонов содержит два ключа: template
и data
. Значение template
— это путь к файлу PowerPoint с диаграммами think-cell, для которых имя задано как идентификатор (см. раздел 24. Введение в автоматизацию). Файл шаблона также можно извлечь из удаленного расположения, как описано в разделе Удаленное предоставление данных JSON.
Значение ключа data
— это список таблиц данных в формате JSON для диаграмм, которые содержатся в шаблоне. Каждый элемент в списке имеет два свойства: name
и table
. name
обозначает диаграмму по ее названию, а table
содержит таблицу данных.
Структура значения table
напрямую соответствует неперекодированной таблице, в которой строки представляют ряды, а столбцы — категории. Для диаграммы по умолчанию это означает следующий порядок строк:
- Сначала строка с пустой ячейкой (
null
), а затем ячейки с именами категорий. - Строка значений 100 %. Если значения 100 % не используются, пустая строка обозначается как .
[]
. - Несколько строк с первой ячейкой, содержащей имя ряда, и последующими ячейками, содержащими числовые значения.
В JSON можно указать имя любой диаграммы и затем ссылаться на нее. Сведения о макете таблицы диаграмм см. в соответствующей главе. Или просто откройте внутреннюю таблицу диаграммы.
Примечание: Любая ячейка в диапазоне таблицы think-cell может содержать любой тип текста. При необходимости можно заполнить первую ячейку в первой строке.
Данные, из которых состоит значение ключа table
, должно соответствовать определенному набору правил в схеме. Значение ключа table
представляет собой массив. Подмассивы представляют строки таблицы. Пустые строки можно указать с помощью пустого массива []
. Содержимое ячейки описывается элементами, указанными в таком подмассиве. Порядок элементов соответствует порядку столбцов в таблице. Пустую ячейку необходимо описать явно, используя элемент null
. Ячейки с содержимым следует описать с использованием другой пары «ключ-значение». В этом случае ключ описывает тип данных, а значение содержит фактические данные, которые должны быть показаны на презентации. Поддерживаются три разных типа данных:
string
для любого вида текста. Поддерживаются любые печатаемые символы Юникода (UTF-8). Пример.: {"string":"Echo"}
number
для любого типа чисел. Десятичный разделитель должен быть точкой. Пример.: {"number":"5"}
date
для дат. Требуемый формат: YYYY-MM-DD
. Пример.: {"date":"2016-09-04"}
Любое форматирование содержимого ячеек (например, указания формата дат) должно осуществляться в шаблоне PowerPoint.
Для именованных текстовых полей элемент table
состоит из одной ячейки в одной строке, поэтому вам нужно использовать массив JSON, как в следующем фрагменте, который отображается один раз для каждого именованного текстового поля в элементе data
:
26.2 Использование данных JSON для создания презентации
Типом файла данных JSON должен быть .ppttc
. При открытии такого файла:
- think-cell читает файл и проверяет его структурную целостность.
- Создается новая презентация. Для каждого элемента на верхнем уровне файла JSON новая презентация содержит копию указанного шаблона.
- Таблицы диаграмм в копиях шаблона, указанные значениями
name
, заменяются на данные в значенияхtable
. Любые метки итоговых значений, расположения меток, значения стрелок разницы и другие элементы украшения диаграммы обновляются.
Затем отображается презентация. Пользователь может изменить ее содержимое или сохранить ее.
Вы также можете создать презентацию на основе данных JSON data в командной строке:
ppttc input.ppttc -o output.pptx
Исполняемый файл ppttc.exe
находится в папке установки think-cell. Вызов ppttc.exe
можно легко интегрировать в workflow-процессы автоматизации.
26.3 Удаленное предоставление данных JSON
Данные JSON в файле .ppttc
можно создать удаленно с помощью веб-службы и предоставить пользователю для загрузки в браузере. См. пример, указанный ниже, и в sample.html
в подкаталоге ppttc
каталога установки think-cell.
В нашем примере данные JSON компилируются динамически, когда пользователь запрашивает загрузку. Хотя в пример встроены статические данные, вы, конечно, можете динамически создавать JSON на основе других источников данных, используя параметры, предоставленные пользователем на веб-сайте.
После загрузки файла .ppttc
пользователь может сохранить или открыть его, как и любые другие загрузки. При открытии файла данные JSON используются для создания презентации, как описано в разделе Использование данных JSON для создания презентации.
26.4 Удаленное предоставление шаблона
Файлы шаблона с диаграммами think-cell также могут предоставляться через удаленный сервер. В этом случае значением ключа template
будет URL-адрес, а не локальный путь, как показано в примере удаленных данных JSON выше. В URL-адресе в качестве протокола может быть указан http
, https
для безопасного соединения или любой другой протокол, поддерживаемый системой, в которой открыт файл .ppttc
.
При обработке файла .ppttc
, который ссылается на удаленный шаблон PowerPoint извлекает файл шаблона. Поэтому пользователю, который открыл файл .ppttc
, требуются соответствующие права доступа к удаленному шаблону.
Если данные JSON создаются удаленно веб-службой и шаблоны также хранятся удаленно, на компьютере пользователя необходима только стандартная установка think-cell, чтобы использовать динамически созданные презентации PowerPoint с диаграммами think-cell.
26.5 Удаленная обработка данных JSON
Вы можете запустить обработку данных JSON на сервере think-cell. В этом случае объединение данных JSON с шаблонами для создания презентаций PowerPoint выполняется на удаленном сервере. Сервер принимает фрагменты JSON в качестве входных данных и предоставляет объединенные презентации PowerPoint в качестве выходных данных через HTTP.
Чтобы запустить сервер think-cell, перейдите в папку установки и выполните файл tcserver.exe. Откроется следующее диалоговое окно:
Чтобы запустить сервер:
- Укажите IP-адрес и порт, который должен прослушиваться сервером, в поле Префикс URL-адреса в виде URL-адреса. Первая часть URL-адреса определяет использование незашифрованного HTTP или зашифрованного HTTPS.
- Нажмите кнопку Применить.
- Подтвердите изменения конфигурации системы в появившемся диалоговом окне "Контроль учетных записей (UAC)".
В поле Журнал в нижней части окна вы увидите подтверждение того, что сервер запущен и ведет прослушивание URL-адреса. В поле Журнал также будут отображаться все запросы клиентов и ответы сервера.
Чтобы остановить работу сервера, нажмите кнопку Удалить. Чтобы изменить URL-адрес, введите новый URL-адрес в поле Префикс URL-адреса и нажмите кнопку Применить.
Сервер принимает данные JSON в качестве запросов HTTP POST с application/vnd.think-cell.ppttc+json
типа MIME и отвечает файлом PowerPoint.
Чтобы начать использовать сервер, скопируйте URL-адрес из поля Префикс URL-адреса и откройте его в браузере. Откроется пример страницы. Сервер является самодокументируемым, а код исходного текста HTML на открывшейся странице демонстрирует его использование и подробный пример. Пример включает в себя следующие элементы:
- HTML-разметка для кнопки, которая вызывает метод, использующий
XMLHttpRequest
для связи с сервером при нажатии. - Статический фрагмент JSON. В вашем режиме применения данные JSON будут, как правило, создаваться динамически.
- Функцию JavaScript для отправки данных JSON на сервер. Она создает запрос HTTP POST со статическими данными JSON. Ответ сервера отображается в браузере в виде загрузки файла.
Работает также и любой другой метод создания запросов HTTP POST и сохранения ответа сервера в виде файла PowerPoint. В вашем режиме применения для этой цели можно использовать не только JavaScript.
Создание диаграмм
-
4.Введение в создание диаграмм
-
5.Ввод данных
-
6.Текстовые подписи
-
7.Гистограммы, линейные графики и диаграммы с областями
-
8.Оформление диаграмм
-
9.Каскадная диаграмма
-
10.Диаграмма Mekko
-
11.Круговая и кольцевая диаграмма
-
12.Точечная диаграмма и пузырьковая диаграмма
-
13.Диаграмма Ганта (временная шкала)