Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 18 мая, печатный экземпляр отправим 22 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №22 (364) май 2021 г.

Дата публикации: 28.05.2021

Статья просмотрена: 91 раз

Библиографическое описание:

Медникова, О. В. Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами / О. В. Медникова, А. А. Симонов. — Текст : непосредственный // Молодой ученый. — 2021. — № 22 (364). — С. 29-30. — URL: https://moluch.ru/archive/364/81662/ (дата обращения: 05.05.2024).



Задача автоматического создания файлов часто встает перед web- разработчиками, в частности в сфере разработки платформенных решений для транспорта. Для упрощения процесса формирования документов существует несколько библиотек для языка PHP. В статье приведен сравнительный анализ наиболее актуальных на данный момент библиотек для формирования документов популярных форматов.

Ключевые слова: PHP, библиотеки PHP, автоматизация, PHPword, PHPstamp.

На сегодняшний день существует множество инструментов в области веб-разработки. Регулярно появляются новые Фреймворки. Но есть и такие языки, которые пользуются сумасшедшей популярностью свыше десяти лет. Яркий тому пример — PHP. Популярности языка способствовало то, что по его изучению написано множество качественной литературы. Согласно данным исследования австрийской консалтинговой компании Q-Success 79,2 % всех сайтов в сети интернет написаны на языке PHP [1, с. 15]. Разработчики не стоят на месте, и в ноябре 2020 года состоялся релиз PHP версии 8. Этот релиз кардинально поменял язык. Код стал быстрее, надёжнее, и писать его стало намного приятнее. Еще одним фактором популярности PHP является обширный выбор библиотек для решения широкого круга задач, встающих перед web- разработчиками каждый день.

Одной из таких задач является формирование различного рода документов, печатных форм, справок определенной формы с внесенными пользователем данными и их дальнейшая выгрузка печати. Существуют различные решения для создания документов. Разработаны несколько библиотек, написанных на языке JavaScript, например, библиотеки jsFile и html-docx-js. Сейчас эти библиотеки утратили свою актуальность, так как были разработаны более пяти лет назад и с того времени не поддерживаются разработчиками, вследствие чего у разработчиков возникают проблемы с интеграцией решений написанных при помощи данных библиотек. В связи с этим многие разработчики отдают предпочтение решениям, написанным на языке PHP, так как данный язык располагает необходимым инструментарием. В данной статье произведен сравнительный анализ наиболее часто используемых, свободно распространяемых библиотек для формирования документов PHPWord, PHPStamp с целью нахождения наиболее оптимального решения.

PHPWord — это библиотека, написанная на чистом PHP, которая предоставляет набор классов для записи и чтения из файлов различных форматов документов [2].

Релиз библиотеки PHPWord состоялся в 2010 году. Библиотека была написана для актуальной на тот момент версии PHP 5.4.4. PHPWord поддерживается разработчиками и постоянно дорабатывается. Актуальная версия 0.18.1 от 8 марта 2021 года. Текущая версия PHPWord поддерживает форматы *.doc, *.docx, *.odf, *.rtf.

Библиотека PHPWord, обладает обширным функционалом, который в значительной степени передает все особенность текстового процессора Microsoft Word. Библиотекой предусмотрено создание разделов документа, поддержка книжной и альбомной ориентации, добавление верхнего и нижнего колонтитулов и нумерация страниц. Есть возможность установки типа, размера и стиля шрифта. PHPWord позволяет работать с таблицами, изображениями и различными видами диаграмм (круговые и кольцевые диаграммы, столбцовые диаграммы, диаграммы рассеяния). К плюсам данной библиотеки можно отнести ее свободное распространение, поддержку кодировки UTF-8 с использованием символов кириллицы, а также наличие подробной документации по данной библиотеке. Среди минусов разработчики отмечают большие временные затраты на создание шаблона документа и большой объем кода.

Библиотека PHPstamp . Рассмотрим еще один шаблонизатор офисных документов, основанных на XML, PHPstamp. Так же, как и PHPword, библиотека написана на чистом PHP и для своей работы использует стандартные для средства, а именно DOMDocument и XSL [3]. Используется для генерации шаблона документа формата (*.docx) для многократного использования PHPstamp. Релиз версии 0.1 состоялся 3 апреля 2017 года. Последняя версия 0.2.3 датирована 28 июля 2019 года. Для корректной работы библиотеки необходимы модули Zip, DOM и XSL. Поддерживаются версии PHP, начиная с версии 5.3. Из-за прекращения поддержки разработчиками PHPstamp может работать некорректно на PHP 8.

Функционал библиотеки позволяет работать со шрифтами и стилями текста, изображениями и таблицами. Поддерживается только формат *.docx.

К плюсам данной библиотеки можно отнести её простоту и лаконичность в написании кода, а также высокую скорость генерации документов, которая достигается за счет правильно реализованного кэширования. Полученный шаблон кэшируется в файловой системе, поэтому последующие его вызовы будут максимально быстрыми.

К минусам библиотеки можно отнести ограниченный функционал и завершение поддержки разработчиками.

Далее приведено сравнение библиотек PHPWord и PHPstamp по приведенным выше критериям.

Простота использования. Установка PHPWord и PHPstamp производится через Composer. Функционал обеих библиотек интуитивно понятен. Однако для функционирования PHPWord необходима установка большого числа модулей. Библиотека PHPWord считается гораздо более сложной в освоении, но данный факт смягчается наличием хорошо проработанной документации.

Наличие документации. Как было отмечено ранее, PHPWord обладает отлично прописанной документацией с множеством примеров использования кода. Существует множество обучающих ресурсов и тематических статей. Документация PHPstamp не столь всеобъемлющая и проработанная.

Потребность в системных ресурсах . И PHPWord, и PHPstamp хорошо оптимизированы. Для работы с небольшими файлами лучше подходит библиотека PHPstamp, результаты нагрузочного тестирования показывают меньшее потребление памяти и более быстрое время выполнения скрипта. Но при этом стоит отметить, что PHPstamp не предназначена для генерации файлов большого объема.

Функциональные возможности. Функционал PHPWord обширнее, нежели функционал PHPstamp. PHPWord работает с большим количеством расширений и позволяет создавать шаблоны документов со сложной структурой.

Подводя итоги сравнения можно сказать, что обе библиотеки обладают необходимыми инструментами для формирования документов. Главное отличие заключается в том, что PHPWord больше подходит для формирования документов со сложной структурой. Для формирования простых документов небольшого объема лучше подойдет библиотека PHPstamp, за счет меньшего объема потребляемых ресурсов и высокой скорости работы.

Литература:

  1. Локхарт Джош Современный PHP. Новые возможности и передовой опыт; ДМК Пресс — М., 2020. — 304 c
  2. Библиотека PHPWord: основные возможности: сайт. — URL: http://docs.mirocow.com/doku.php?id=php:docx_doc (дата обращения: 07.04.2021). — Текст: электронный.
  3. PHPStamp — честная генерация DOCX документов из шаблона: сайт. — URL: https://habr.com/ru/post/244421/ (дата обращения: 9.04.2021). — Текст: электронный.
Основные термины (генерируются автоматически): PHP, библиотека, XSL, формирование документов, разработчик, DOM, XML, сложная структура, сравнительный анализ, язык.


Ключевые слова

автоматизация, PHP, библиотеки PHP, PHPword, PHPstamp

Похожие статьи

Метод автоматизированного анализа электронных документов...

Анализ электронных документов в формате XML – трудоемкая задача. Необходимо автоматизировать процесс извлечения данных из документов в формате XML и их размещение в реляционной базе данных с целью обеспечения непрерывности цикла межсистемного...

Средства визуализации структурированных данных в клиентских...

Видна древовидная структура разметки XML, однако именно она может стать первым препятствием для парсинга (программного синтаксического анализа).

Кроме XML и JSON инструменты для визуализации могут использовать специализированные языки и форматы.

Реализация архитектурного шаблона MVC с использованием...

Эффективно реализовать шаблон «наблюдатель» на языке PHP можно с использованием стандартной библиотеки PHP (Standard PHP Library, SPL), которая была введена в PHP5 [1]. Для этого используются следующие классы и интерфейсы, предоставляемые SPL

Анализ современных средств автоматизации офисного...

формирование различных типов документов, создание и редактирование документа в

Российской компанией «Инфра-ресурс» был проведен сравнительный анализ данных

Получить же из документа в формате XML офисного пакета документ в формате XML БД ИС...

Сравнительный анализ инструментов построения онтологий

Анализ инструментов для построения онтологии информационно-справочной системы гостиниц и хостелов / Назигуль Буданова.

 Поскольку построение онтологии для огромного объема данных является сложной и своевременной задачей, был разработан ряд инструментов для...

Сравнительный анализ моделей жизненного цикла программного...

 В статье авторы проводят сравнительный анализ моделей жизненного цикла программного обеспечения на основе метода анализа

Это была первая модель, которая формализовала структуру этапов разработки ПО, придавая особое значение исходным требованиям и...

Анализ систем управления содержимым для создания...

Сравнительный анализ систем. Для сравнительного анализа систем были выбраны наиболее важные аспекты для разработчика сайта: Безопасность — защита от взлома, стабильность работы сайта. Поддержка — наличие регулярных обновлений системы.

Сравнительный анализ интегрированных сред разработки для...

Библиографическое описание: Маркелов, К. Д. Сравнительный анализ интегрированных сред разработки для языка Java / К. Д. Маркелов.

Интегрированные среды разработки позволяют максимизировать производительность программиста, ускорить процесс разработки.

Методика создания библиотеки компонентов электрической...

Библиографическое описание: Коноплев, Ю. В. Методика создания библиотеки компонентов электрической схемы в виде базы данных в среде

Прежде чем приступать к созданию своей библиотеки в виде базы данных, следует отметить, что предварительно рекомендуется учесть...

Похожие статьи

Метод автоматизированного анализа электронных документов...

Анализ электронных документов в формате XML – трудоемкая задача. Необходимо автоматизировать процесс извлечения данных из документов в формате XML и их размещение в реляционной базе данных с целью обеспечения непрерывности цикла межсистемного...

Средства визуализации структурированных данных в клиентских...

Видна древовидная структура разметки XML, однако именно она может стать первым препятствием для парсинга (программного синтаксического анализа).

Кроме XML и JSON инструменты для визуализации могут использовать специализированные языки и форматы.

Реализация архитектурного шаблона MVC с использованием...

Эффективно реализовать шаблон «наблюдатель» на языке PHP можно с использованием стандартной библиотеки PHP (Standard PHP Library, SPL), которая была введена в PHP5 [1]. Для этого используются следующие классы и интерфейсы, предоставляемые SPL

Анализ современных средств автоматизации офисного...

формирование различных типов документов, создание и редактирование документа в

Российской компанией «Инфра-ресурс» был проведен сравнительный анализ данных

Получить же из документа в формате XML офисного пакета документ в формате XML БД ИС...

Сравнительный анализ инструментов построения онтологий

Анализ инструментов для построения онтологии информационно-справочной системы гостиниц и хостелов / Назигуль Буданова.

 Поскольку построение онтологии для огромного объема данных является сложной и своевременной задачей, был разработан ряд инструментов для...

Сравнительный анализ моделей жизненного цикла программного...

 В статье авторы проводят сравнительный анализ моделей жизненного цикла программного обеспечения на основе метода анализа

Это была первая модель, которая формализовала структуру этапов разработки ПО, придавая особое значение исходным требованиям и...

Анализ систем управления содержимым для создания...

Сравнительный анализ систем. Для сравнительного анализа систем были выбраны наиболее важные аспекты для разработчика сайта: Безопасность — защита от взлома, стабильность работы сайта. Поддержка — наличие регулярных обновлений системы.

Сравнительный анализ интегрированных сред разработки для...

Библиографическое описание: Маркелов, К. Д. Сравнительный анализ интегрированных сред разработки для языка Java / К. Д. Маркелов.

Интегрированные среды разработки позволяют максимизировать производительность программиста, ускорить процесс разработки.

Методика создания библиотеки компонентов электрической...

Библиографическое описание: Коноплев, Ю. В. Методика создания библиотеки компонентов электрической схемы в виде базы данных в среде

Прежде чем приступать к созданию своей библиотеки в виде базы данных, следует отметить, что предварительно рекомендуется учесть...

Задать вопрос