Всем доброго времени.
Делаю проекты на Django и временами заказчики ставят задачи, которые, способами которые я уже владею, делать крайне тяжело.
Как я работаю в pdf сейчас и что делаю.
- Из каталога изделия делается прайс в pdf
- Делаются бланки заказов с перечнем изделий, их количеством и суммой в конце
Для создания вышеперечисленного сделаны простецкие шаблоны HTML на основе таблиц и очень долго и геморно делались css стили для печати. Сгенерировано миллион тестовых файлов и распечатаны сотни бумажных вариантов. Для генерации PDF использую батарейку weasyprint, которой скармливаю отрендеренный HTML шаблон и CSS для печати. В итоге выглядит сносно, а заказчика устраивает результат и все довольны.
Но теперь пришла задача, что нужно взять целую группу разных бланков, заполнить их данными и на выходе отдать всё тот же PDF. Идти по тому пути, который описал выше не получается, т.к. бланки должны быть такими, какие предоставил заказчик.
Рисовать в HTML для меня тяжко и это будет крайне долго. А писать для всего этого ещё и css print ну вообще тяжело. Опять же, если вдруг что-то поменяется, или принесут ещё какой-то бланк, то это ну дикость всё перерисовывать и тестировать заново.
Бланки кстати предоставили в обычном Word (docx) формате и из ворда их можно сохранить во много разных форматов.
Кто нибудь уже выполнял вот именно такую задачу? Чтобы заполнять конкретный бланк данными и выводить их в PDF?
Как вижу это я.
- В бланке (в ворде) вписываю некоторые "маяки".
- Сохраняю бланки в какой-то хитрый формат, файл которого...
- Открываю питоном и найдя, оставленные маяки, заменяю их нужными данными
- Сохраняю новый свеже-свёрстанный файл бланка всё в том же хитром формате
- Генерирую при помощи чего-то из файла в хитром формате, готовый PDF, в котором бланк выглядит чётко как в оригинале.
Соответственно вопросы:
В каком таком формате можно сохранить, чтобы это дело можно было открыть для замены данных и при этом в этом же файле сохранялось эталонное форматирование бланка?
При помощи какого расширения всё это можно конвертнуть в PDF?
p.s. под python2 батарейки не предлагайте пожалуйста.