|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Доброго времени суток! Дали задачу написать модуль для системы документооборота уменьшающий размер pdf файла. Файлы с несжатой графикой(отсканированные документы, скорее всего tiff), хранить в базе махины весом в 100мб моветон. Попробовал библиотеку Docotic pdf от Bitmiracle. Для моей задачи подошла идеально, простота исп, хорошо сжимает. Единственный недостаток - цена овер $400 за лицензию.. Покупать целый фреймворк ради одной функции никто не хочет. Кряк или серийник найти не получилось. Суть вопроса: возможно кто то сталкивался с подобной проблемой уменьшения размера, подскажите как решали, что использовали. Возможно есть бесплатные библиотеки? Или может пути решения (вынуть графические файлы из пдф, конвертировать например в jpg и запихать обратно) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2017, 18:39 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
FreeBardразмер pdf файла. Файлы с несжатой графикой(отсканированные документы, скорее всего tiff), ...в 100мб Возможно есть бесплатные библиотеки? Или может пути решения (вынуть графические файлы из пдф, конвертировать например в jpg и запихать обратно) Правильно мыслишь. Ghostscript Он тебе сконвертит любой PDF (пофиг чего там внутри) -> TIFF (многостраничный) формат TIFF задашь, там куча опций (я интересовался только факсовыми форматами, но там есть и любые цветные, и grayscale и все что хочешь со сжатием и т.п.) gswin32c.exe + gsdll32.dll (командная строка) Далее тебе нужен libtiff GnuWin32 v.3.8.2 это кажется самое то Там есть утилита TIFF2PDF.exe Она тебе запихнет твой TIFF обратно в PDF (но уже тот TIFF который сжатый) Но, имей ввиду что если в исходном pdf у тебя не чистая картинка, а какой-то еще текст и т.п., то GS при конвертации в TIFF сделает тебе "чистую картинку". А несжатый TIFF это да, нечто по размеру на 2 порядка превышающее сжатый (причем качество картинки такое же). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 12:34 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Дмитрий77, PDF это только контейнер, оригинальный PDF файл может весить значительно меньше чем такой же файл, но с Tiff содержимым ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 12:59 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Roman Mejtes, ты мне чего объяснить пытаешься, т.е. я этого типа не знаю, да? У чела есть оригинальный PDF-контейнер с оригинальным несжатым TIFF в нем, за счет чего этот PDF весит немерено. GS ему из этого PDF сделает приемлимых размеров сжатый TIFF. tiff2pdf пихнет этот новый сжатый TIFF в новый PDF-контейнер. Будет новый PDF маленьких размеров. Все путем. Бинарники и того и другого скачиваются, компилировать исходники GS и libtiff/GnuWin32 даже не надо (компиляция подобных проектов это отдельная нетривиальная тема). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 13:13 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Дмитрий77компиляция подобных проектов это отдельная нетривиальная тема не так всё страшно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 13:33 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77компиляция подобных проектов это отдельная нетривиальная тема не так всё страшно Ну, мне не страшно. А автору м.б. проще готовые бинарники взять, они ж есть. Я все это предпочитаю компилить в VC++2005 под 8.0.50727.762 дабы не иметь нигде проблем с запуском. Хотя с крайней версией GS я чуть помучился, чтоб впихнуть ее именно в 2005-ю, пришлось править make-файлы, или как оно там называется. GS кстати API имеет, недавно как раз доразбирался. Но автор опять же может взять готовую cmd и не мучиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 13:54 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Дмитрий77, у топикстартера вроде как tiff на входе, GS ему не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 14:09 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
ИзопропилДмитрий77, у топикстартера вроде как tiff на входе, GS ему не нужен Перечитай, у него pdf, в котором сидит несжатый tiff. FreeBardДали задачу написать модуль для системы документооборота уменьшающий размер pdf файла . Файлы с несжатой графикой(отсканированные документы, скорее всего tiff), GS ему как раз в одно действие решит задачу конвертации PDF обратно в TIFF + задачу сжатия TIFF-формата. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 14:23 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Дмитрий77, спасибо за подробные рекомендации! Все-таки хотелось бы решения именно на дотнете, бесплатную .NET-библиотеку для работы с пдф, которая позволит выполнить эти действия. Код будет интегрирован в достаточно массивную самописную орм, не хочется для такой небольшой задачи ее (и так за годы ставшую монстрообразной) дополнительно обвешивать внешними приложениями. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 16:16 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
FreeBardобвешивать внешними приложениями.это не страшно. разделяй и властвуй (с) кого интересует кроме разработчика какие и сколько dll,exe и процессов в приложении ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 17:06 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
FreeBard, на входе у тебя файлы изображений или pdf? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 17:08 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
FreeBard, Да вы попробуйте, там все просто, я вам фактически дал ссылки на бинарники. cmd через Shell из .Net не вызовете (с ожиданием завершения процесса)? >дополнительно обвешивать внешними приложениями. GS требует dll+exe ну либо API вместо exe (под спойлером все есть, с callback-ами аккуратней, но они вам не нужны). tiff2pdf.exe требует 3 маленьких dll (имена легко вычислите, положив в отдельную папку). Самый большой gsdll32.dll ~15MB (если не компилировать ненужные "девайсы", можно сделать около 11МБ). Мне этот размер тоже когда-то не понравился, но таки согласился и несколько лет все нормально, оно того стоит. Не, хотя говорят есть пи-д-тые .Net dll, кот. "работают из браузера", но я б на вашем месте попробовал/воспользовался тем что я сказал, оно вашу задачу предположительно решит на ура. В общем дело ваше. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 17:08 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Изопропил, файлы пдф ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 19:50 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Дмитрий77, я конечно попробую, хотя бы как альтернативный вариант, но все же для меня в данной задаче предпочтительней решение на дотнет ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2017, 19:54 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
Проблема решена взломом Docotic'a ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2017, 22:59 |
|
Компрессия pdf
|
|||
---|---|---|---|
#18+
FreeBardDocotic'aоставайтесь на месте, за вами уже выехала ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2017, 10:11 |
|
|
start [/forum/topic.php?fid=20&msg=39532396&tid=1399647]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
128ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 231ms |
0 / 0 |