Генератор PDF из HTML
Необходимо разработать генератор PDF из HTML
Работа только по договору (физ лицо, самозанятый, ИП, юр. лицо).
Предоплата возможна в рамках договора.
Предполагается,
что в сервис будет сообщаться набор параметров, а также массив строк с
HTML-разметкой, каждая из которых должна быть преобразована в файл PDF
(или несколько отдельных файлов) и возвращена ответом на запрос, либо
файлы сохраняются на сервере (в зависимости от переданных настроек).
Что будем отправлять - JSON, пример во вложении (сменить расширение на .json)
- token: security string token,
- mod: описывает, должен ли быть создан один файл, или несколько (на каждый элемент массива html),
- method: признак того, нужно ли 'отдать' файл(ы), либо их нужно сохранить на сервере согласно settings.path,
- path: пусто или относительный путь на сервере по которому должен
быть сохранен файл(ы). Если конечный каталог отсутствует - создаем его - html: html-разметка (1 или более элементов массива, каждый из которых - текст разметки)
Требования к программе:
- работа на сервере linux
- может быть исполнена на любом ЯП
- по умолчанию все страницы с ориентацией "Портрет"
- все страницы PDF имеют стандартный размер А4
- поля должны предусматриваться в конфигурации программы и быть изменяемыми
- не должна осуществлять отправку запросов через сеть интернет, т.е. работает исключительно локально на сервере
- если программа будет требовать запуска/рестарта, необходима возможность
автоматического рестарта в случае падения (и четкие описания как это
реализовать в linux) - должна быть доступна по http-протоколу и
принимать post-запросы, либо быть доступной локально для запросов из ПО
иных ЯП, но с четкими описаниями и примером - входящая длина строк
не должна быть ограничена искусственно (т.е. html-разметка + вложенные
картинки в base64 могут быть очень большой длины, более 1млн. символов) - точка входа (API) для сообщения строк с HTML-разметкой
- поддержка
CSS-атрибута break-after для перехода на следующую страницу (либо обсуждаем
отдельный механизм разбиения на страницы помимо авто-разбивки по длине
контента) - поддержка "ориентации страницы", согласно значению
которого будет определяться ориентация текущей страницы файла PDF (можно
исключить, обсуждаемо) - на выходе должен быть получен PDF-файл минимального размера (т.е. превращать 10 строк текста в 2+Мб PDF неприемлемо)
- обязательно должна поддерживаться работа с изображениями в base64
- время обработки программой запроса должно быть минимальным (на адекватном сервере)
- программа должна иметь возможность обработки нескольких запросов одновременно без серьезной деградации (должна без просадки выдерживать минимум 180 запросов в минуту)
- конфигурационный
файл поддерживаемых базовых классов CSS (чтобы не было необходимости
присваивать свойства каждому элементу dom, отличному от "стандартных") - конфигурационный файл с внутренними настройками программы (токен авторизации, собственный адрес сервера и т.д.)
- в конечном итоге результат должен соответствовать переданной
html-разметке таким образом, как если она будет вписана в html-страницу в
блок формата А-4
Предлагайте свою цену откликах или tg vmorsk