Форум сайта python.su
Есть директория с множеством pdf-файлов, нужно их на лету склеить и отдать как один pdf-файл, только вариант окрить все и склеить в памяти не подходит так как етот масив файлов будет генериться еще во время отдачи.
Офлайн
agrynи как ты видишь это склеить?
склеить
Офлайн
SingularityК сожалению в структуру pdf-формата достаточно не вник. “Склеить” в данном контексте понимаю как с 2..n pdf-файлов получить 1 pdf-файл коректного для обработки pdf-viewera (Adobe или Foxi.. ).
Офлайн
А Django тут каким боком то?
Офлайн
Может просто затарить или zip ?
Офлайн
Доброго времени суток!
“Склеить” pdf в памяти (на лету - это как раз в ней родимой) возможно, но это довольно затратно для ресурсов.
К примеру, умеет это http://pybrary.net/pyPdf/
Я бы рекомендовал Вам вынести сборку pdf из http-response и создать очередь заданий с лимитированным количество одновременных процессов, дабы не перегрузить сервер подомными процессами. А ссылку выдывать или ajax'ом после build'а, или же высылать пользователю на email и пр.
Спасибо.
Офлайн
FishHookВ одной конторе часть их CRM сделана именно на Django. Некоторые их документы генеряться в html а потом идут на печать, при отправке большого массива на печать принтеры вырубаются через переполнение задания, для решения этой проблемы было решено конвертировать html в pdf (pdf-вювери встроенные в браузер берут контроль очереди печати на себя). Так как верстка документов очень специфическая с корректным конвертированием только один wkhtmltopdf и справляться, но его запуск конечно ресурсоемкий.
А Django тут каким боком то?
danielКак то не очень хочется менять структуру проекта только для одной печати, хотя конечно самым логичным вариантом было бы использовать celery, но я решил генерить все таки в вюхе по одному документу на запрос, а запросы будут погружаться с помощью периодических запросов из javascript, посмотрю что получиться.
Доброго времени суток!“Склеить” pdf в памяти (на лету - это как раз в ней родимой) возможно, но это довольно затратно для ресурсов.К примеру, умеет это http://pybrary.net/pyPdf/Я бы рекомендовал Вам вынести сборку pdf из http-response и создать очередь заданий с лимитированным количество одновременных процессов, дабы не перегрузить сервер подомными процессами. А ссылку выдавать или ajax'ом после build'а, или же высылать пользователю на email и пр.Спасибо.
SingularityКонечно было б хорошо, но: если затарить то при открытии документа будет отображаться только первая страница, так как pdf имеет непростую структуру, но при zip конечно pdf-вювер не сможет отобразить. Просто как я понял (может и не правильно) PyPdf2 при склеивании pdf уж много в оперативку загружает.
Может просто затарить или zip ?
Отредактировано agryn (Сен. 28, 2013 02:30:21)
Офлайн