0
0 комментариев

Появилась задача конвертировать xls в pdf на старом сервере с Linux, и это требование создало серьезные проблемы, потому что совершенно непонятно, как же это лучше сделать.

Для python есть разные утилиты pyPDF2 pyXLSX, но непонятно, как их «скрестить». Потому что все примеры того же pyPDF2 работают только с другими pdf или с рисованием на Canvas.

Для C++ я аналогично пока не нашел подходящего решения.

Ситуация усложняется еще тем, что исходный xls не тривиальный, с разными цветами и таблицами. Поэтому вариант перевода в csv, как промежуточный формат, например, отпадает. При этом не хотелось бы и переводить в jpg, потому что потом по тексту в pdf нужен будет поиск + проблемы с печатью.

При этом исходный xls состоит из множества worksheets, каждый из которых содержит таблицу. И многие таблицы шире, чем ширина листа в pdf. Соответственно, при переводе (я тестировал под windows) pdf эти таблицы некрасиво обрезает и огрызками вставляет, делая документ нечитабельным. Поэтому, ко всему прочему, worksheets в xls надо еще и уменьшать перед конвертацией так, чтобы в ширину она помещалась на одну страницу.

Смотрю в сторону unoconv и LibreOffice сейчас, но учитывая, что перед конвертацией надо делать еще манипуляции с xls, не представляю, как в результате решу.

Еще есть вариант просто поднять там виртуалку с Windows с простеньким сервисом, который будет слушать сеть и выполнять эти действия. Но это решение выглядит большим костылем.

Решали ли вы уже такую задачу? Если да, то как? Может быть, есть какие-то идеи? Привязка к питону и C++ не обязательна.


Добавить комментарий