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

Молодой учёный

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

Информационные технологии
28.05.2021
154
Поделиться
Аннотация
Задача автоматического создания файлов часто встает перед web- разработчиками, в частности в сфере разработки платформенных решений для транспорта. Для упрощения процесса формирования документов существует несколько библиотек для языка PHP. В статье приведен сравнительный анализ наиболее актуальных на данный момент библиотек для формирования документов популярных форматов.
Библиографическое описание
Медникова, О. В. Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами / О. В. Медникова, А. А. Симонов. — Текст : непосредственный // Молодой ученый. — 2021. — № 22 (364). — С. 29-30. — URL: https://moluch.ru/archive/364/81662.


Задача автоматического создания файлов часто встает перед 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). — Текст: электронный.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №22 (364) май 2021 г.
Скачать часть журнала с этой статьей(стр. 29-30):
Часть 1 (стр. 1-81)
Расположение в файле:
стр. 1стр. 29-30стр. 81
Похожие статьи
Компонент GemBox.Document и MS Word
Автоматизированное добавление печатных штампов при помощи Adobe Acrobat 6.0 благодаря использованию Visual Basic (VBA) и JavaScript
Разработка интеллектуальных средств поддержки веб-порталов и веб-сервисов
Основные функция веб-приложения с учетом анализа современных CMS-систем
Сложность реализации автоматизированной проверки дипломных работ на соответствие техническим нормам
Анализ систем управления содержимым для создания информационного портала
Исследование интерфейсной части CMS, применяемых для разработки сайтов книжных магазинов
Выбор языка программирования для разработки серверной части веб-приложения
Сравнительный анализ Microsoft Word и Paint для работы с рисунком учениками начальной школы при знакомстве с компьютером
Разработка модуля формирования документов студенческой практики с помощью Java и OpenOffice SDK

Молодой учёный