Модуль для генерации .docx, .xlsx из шаблонов на PHP
Цена договорная
Разработать модуль для генерации .docx, .xlsx файлов из шаблонов Word и Excel на PHP.
Функциональность:
Вызывается .php скрипт с $_GET (или $_POST) переменными:
$template - путь к файлу-шаблону на сервере(Word или Excel) относительно $_SERVER["DOCUMENT_ROOT"]
$data – массив подставляемых данных ключ – значение
$filename – если передан – путь для сохранения обработанного файла на сервере, относительно $_SERVER["DOCUMENT_ROOT"]
$stamp – путь к файлу на сервере: .png изображение печати организации для подстановки (может отсутствовать,относительно $_SERVER["DOCUMENT_ROOT"])
$sign – путь к файлу на сервере: .png изображение подписи для подстановки (может отсутствовать,относительно $_SERVER["DOCUMENT_ROOT"])
Скрипт возвращает соответствующий файл (.docx или .xlsx) с подставленными значениями сохраняя изначальное форматирование
* Дополнительный функционал
$pdf – флаг (если передан и true – выводим данные в pdf)
Принцип работы
1. Скрипт загружает шаблон $template
2. В загруженном шаблоне меняются вхождения {{ключ}} на соответствующее значения $массив[ключ]
2.1. Если значение $массив[ключ] – содержит <table> - значение форматируется:
2.1.3. В случае работы с .docx файлом - в таблицу
2.1.4.В случае .xlsx файлом – вставляются соответствующие строки со сдвигом остальных строк вниз
2.2 Если в шаблоне встречается строка $i то строка дублируется с подставлением данных из переменной TABLE (см. пример)
3. Ключи {{stamp}} и {{sign}}
3.1. Если передана переменная $stamp – в шаблон вставляется .png картинка на место ключа {{stamp}}, с соответствующим смещением (-50% вертикально и горизонтально относительно центра строки {{stamp}}); Если переменная не передана - {{stamp}} меняется на пустую строку.
3.2. Если передана переменная $sign – в шаблон вставляется .png картинка на место ключа {{sign}}, с соответствующим смещением (-50% вертикально и горизонтально относительно центрастроки{{sign}}); Если переменная не передана - {{sign}} меняется на пустую строку.
4. *Если передан флаг $pdf – шаблон конвертируется в .pdf
5. Если передан флаг $filename – шаблон сохраняется на сервере,в противном случае шаблон выводится в //output для скачивания
Технические требования
1. Решение должно быть запаковано в отдельную библиотеку, так чтобы папку с кодом можно было разместить на сервере, и сразу использовать функционал, не устанавливая зависимостей.
2. Версия PHP > 7
3. Кодировка входящих данных – utf-8
4. Решение подразумевает использование любых шаблонов в рамках ТЗ
Функциональность:
Вызывается .php скрипт с $_GET (или $_POST) переменными:
$template - путь к файлу-шаблону на сервере(Word или Excel) относительно $_SERVER["DOCUMENT_ROOT"]
$data – массив подставляемых данных ключ – значение
$filename – если передан – путь для сохранения обработанного файла на сервере, относительно $_SERVER["DOCUMENT_ROOT"]
$stamp – путь к файлу на сервере: .png изображение печати организации для подстановки (может отсутствовать,относительно $_SERVER["DOCUMENT_ROOT"])
$sign – путь к файлу на сервере: .png изображение подписи для подстановки (может отсутствовать,относительно $_SERVER["DOCUMENT_ROOT"])
Скрипт возвращает соответствующий файл (.docx или .xlsx) с подставленными значениями сохраняя изначальное форматирование
* Дополнительный функционал
$pdf – флаг (если передан и true – выводим данные в pdf)
Принцип работы
1. Скрипт загружает шаблон $template
2. В загруженном шаблоне меняются вхождения {{ключ}} на соответствующее значения $массив[ключ]
2.1. Если значение $массив[ключ] – содержит <table> - значение форматируется:
2.1.3. В случае работы с .docx файлом - в таблицу
2.1.4.В случае .xlsx файлом – вставляются соответствующие строки со сдвигом остальных строк вниз
2.2 Если в шаблоне встречается строка $i то строка дублируется с подставлением данных из переменной TABLE (см. пример)
3. Ключи {{stamp}} и {{sign}}
3.1. Если передана переменная $stamp – в шаблон вставляется .png картинка на место ключа {{stamp}}, с соответствующим смещением (-50% вертикально и горизонтально относительно центра строки {{stamp}}); Если переменная не передана - {{stamp}} меняется на пустую строку.
3.2. Если передана переменная $sign – в шаблон вставляется .png картинка на место ключа {{sign}}, с соответствующим смещением (-50% вертикально и горизонтально относительно центрастроки{{sign}}); Если переменная не передана - {{sign}} меняется на пустую строку.
4. *Если передан флаг $pdf – шаблон конвертируется в .pdf
5. Если передан флаг $filename – шаблон сохраняется на сервере,в противном случае шаблон выводится в //output для скачивания
Технические требования
1. Решение должно быть запаковано в отдельную библиотеку, так чтобы папку с кодом можно было разместить на сервере, и сразу использовать функционал, не устанавливая зависимостей.
2. Версия PHP > 7
3. Кодировка входящих данных – utf-8
4. Решение подразумевает использование любых шаблонов в рамках ТЗ
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.