
XML представляет собой язык самоописания, поддерживаемый W3C и специально созданный для эффективного хранения данных и беспрепятственного обмена данными. Для разработчиков приложений Python адаптируемость формата XML позволяет легко преобразовать его в удобные для пользователя, удобочитаемые форматы, такие как HTML. В этой статье вы узнаете, как использовать GroupDocs.Assembly Cloud SDK для Python и простые шаблоны для преобразования данных XML в полные отчеты HTML.
Предпосылки:
Прежде чем приступить к работе, убедитесь, что у вас есть следующее:
- Python установлен в вашей системе. — Установлен Cloud SDK GroupDocs.Assembly для Python.
- Активная учетная запись GroupDocs.Assembly Cloud с действительными учетными данными API.
- Примеры данных и шаблоны для тестирования (мы будем использовать следующий образец XML-данных и шаблон отчета).
Пример XML-данных
Используйте следующие XML-данные.
<Managers>
<Manager>
<Name>John Smith</Name>
<Contract>
<Client>
<Name>A Company</Name>
</Client>
<Price>1200000</Price>
</Contract>
<Contract>
...
</Contract>
...
</Manager>
<Manager>
<Name>Tony Anderson</Name>
...
</Manager>
...
</Managers>
Образец шаблона
Создайте указанный шаблон в формате TXT, DOCX или необходимом формате для обработки данных Менеджеров вместе с соответствующими Клиентами и соответствующей информацией. После этого приступайте к реализации кода для формирования отчета.
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
Вопросы, которые следует рассмотреть:
- Начало работы с SDK генератора отчетов Python HTML
- Запустить API-клиент
- Загрузить файлы шаблона и источника данных
- Отображение XML-данных на HTML-странице
- Загрузить HTML-файл
Настройка SDK генератора отчетов Python HTML
Чтобы начать процесс, включите Cloud SDK GroupDocs.Assembly для Python в свой проект Python с помощью pip (установщик пакета Python). Выполните следующую команду в консоли:
pip install groupdocs-assembly-cloud
Запустите API-клиент
Затем получите свой Идентификатор клиента и Секрет клиента с панели управления и включите предоставленный код, как показано ниже:
import groupdocsassemblycloud as assembly | |
# Get app_sid & app_key from https://dashboard.groupdocs.cloud after free registration. | |
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | |
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
# Get File API configurations. | |
configuration = assembly.Configuration(app_sid, app_key) | |
configuration.api_base_url = "https://api.groupdocs.cloud" | |
storage_name = "LocalStorage" |
Загрузите источник данных и файлы шаблона.
Сначала загрузите файлы источника данных и шаблонов в облако, используя пример кода, приведенный ниже:
# Create an instance of the file API | |
file_api = groupdocsassemblycloud.FileApi.from_config(configuration) | |
# Call upload file request | |
request = groupdocsassemblycloud.UploadFileRequest("python-testing\input-sample-file.xml", "H:\\groupdocs-cloud-data\\input-sample-file.xml", "storage_name") | |
# Upload file to the cloud | |
response = file_api.upload_file(request) | |
print(response.uploaded) |
В результате загруженные файлы будут доступны в разделе файлов вашего личного кабинета в облаке.
Отображение XML-данных на HTML-странице с помощью Python
Чтобы представить XML-данные на HTML-странице, выполните следующие шаги:
- Создайте экземпляр AssemblyApi с client_id и client_secret.
- Настройте информацию шаблона, указав путь к файлу, имя хранилища, идентификатор версии и пароль.
- Подготовьте запрос на сборку, используя AssembleOptions, указав данные отчета, информацию о шаблоне, путь вывода и формат сохранения.
- Создайте отчет HTML с помощью метода AssemblyApi.assemble_document(AssembleOptions).
Предоставленный пример кода иллюстрирует реализацию Python SDK для REST API генератора отчетов HTML, позволяющего представлять данные XML на странице HTML.
import groupdocsassemblycloud as assembly | |
client_id = "XXXX-XXXX-XXXX-XXXX" | |
client_secret = "XXXXXXXXXXXXXXXX" | |
assemblyAPI = assembly.AssemblyApi(client_id,client_secret ) | |
# Set up template info | |
templateInfo = assembly.TemplateFileInfo() | |
templateInfo.file_path= 'Python_Testing/template.txt' | |
templateInfo.storage_name= 'LocalStorage' | |
templateInfo.version_id= '' | |
templateInfo.password='abc123' | |
# Prepare assemble request | |
options=assembly.AssembleOptions() | |
options.report_data = 'Python_Testing/report-data.xml'; | |
options.template_file_info = templateInfo | |
options.output_path = 'Python_Testing/report.html'; | |
options.save_format = 'html' | |
# Generate HTML report | |
assemblyAPI.assemble_document(options) |
Скачать HTML-файл
Код, приведенный на предыдущем шаге, сохраняет преобразованный HTML-файл в облаке. Чтобы загрузить его, вы можете использовать следующий фрагмент кода.
# Create instance of the API | |
file_api = groupdocsassemblycloud.FileApi.from_config(configuration) | |
request = groupdocs_conversion_cloud.DownloadFileRequest('Python_Testing/report.html', my_storage) | |
response = file_api.download_file(request) | |
# Move downloaded file to your working directory | |
shutil.move(response, "C:\\Files\\") |
Заключение
В этой статье мы рассмотрели шаги, необходимые для представления XML-данных на HTML-странице с помощью GroupDocs.Assembly Cloud REST API в сочетании с его Python SDK. Этот надежный API позволяет разработчикам легко создавать динамические отчеты в различных форматах, используя информацию из XML или источников XML, а также объединяя шаблоны, охватывающие документы Word, электронные таблицы и текстовые файлы.
Кроме того, для более полного понимания Cloud API GroupDocs.Assembly ознакомьтесь с подробной документацией. Кроме того, воспользуйтесь нашей областью Справочник по API, которая дает вам возможность напрямую взаимодействовать с нашими API и наблюдать за их работой прямо из браузера. Вы также можете свободно получить доступ к полному исходному коду Python SDK на Github.
В заключение мы постоянно публикуем свежие статьи в блогах, в которых рассматриваются различные форматы файлов и их анализ с использованием REST API. Свяжитесь с нами для получения самой актуальной информации.
Задайте вопрос
Если у вас возникнут какие-либо вопросы или сомнения по поводу генератора отчетов HTML, свяжитесь с нами через наш форум.
Смотрите также
Вот несколько статей по теме, которые могут оказаться вам полезными: