powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Компрессия pdf
17 сообщений из 17, страница 1 из 1
Компрессия pdf
    #39531757
FreeBard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Дали задачу написать модуль для системы документооборота уменьшающий размер pdf файла.
Файлы с несжатой графикой(отсканированные документы, скорее всего tiff), хранить в базе махины весом в 100мб моветон.

Попробовал библиотеку Docotic pdf от Bitmiracle. Для моей задачи подошла идеально, простота исп, хорошо сжимает. Единственный недостаток - цена овер $400 за лицензию.. Покупать целый фреймворк ради одной функции никто не хочет. Кряк или серийник найти не получилось.

Суть вопроса: возможно кто то сталкивался с подобной проблемой уменьшения размера, подскажите как решали, что использовали.
Возможно есть бесплатные библиотеки?

Или может пути решения (вынуть графические файлы из пдф, конвертировать например в jpg и запихать обратно)
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532100
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 порядка превышающее сжатый (причем качество картинки такое же).
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532125
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

PDF это только контейнер, оригинальный PDF файл может весить значительно меньше чем такой же файл, но с Tiff содержимым
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532146
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
ты мне чего объяснить пытаешься, т.е. я этого типа не знаю, да?
У чела есть оригинальный PDF-контейнер с оригинальным несжатым TIFF в нем, за счет чего этот PDF весит немерено.
GS ему из этого PDF сделает приемлимых размеров сжатый TIFF.
tiff2pdf пихнет этот новый сжатый TIFF в новый PDF-контейнер. Будет новый PDF маленьких размеров.
Все путем.
Бинарники и того и другого скачиваются, компилировать исходники GS и libtiff/GnuWin32 даже не надо (компиляция подобных проектов это отдельная нетривиальная тема).
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532173
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77компиляция подобных проектов это отдельная нетривиальная тема
не так всё страшно
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532202
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДмитрий77компиляция подобных проектов это отдельная нетривиальная тема
не так всё страшно
Ну, мне не страшно. А автору м.б. проще готовые бинарники взять, они ж есть.
Я все это предпочитаю компилить в VC++2005 под 8.0.50727.762 дабы не иметь нигде проблем с запуском.
Хотя с крайней версией GS я чуть помучился, чтоб впихнуть ее именно в 2005-ю, пришлось править make-файлы, или как оно там называется.

GS кстати API имеет, недавно как раз доразбирался. Но автор опять же может взять готовую cmd и не мучиться.
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532218
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,

у топикстартера вроде как tiff на входе, GS ему не нужен
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532250
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилДмитрий77,
у топикстартера вроде как tiff на входе, GS ему не нужен
Перечитай, у него pdf, в котором сидит несжатый tiff.
FreeBardДали задачу написать модуль для системы документооборота уменьшающий размер pdf файла .
Файлы с несжатой графикой(отсканированные документы, скорее всего tiff),
GS ему как раз в одно действие решит задачу конвертации PDF обратно в TIFF + задачу сжатия TIFF-формата.
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532362
FreeBard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77, спасибо за подробные рекомендации!

Все-таки хотелось бы решения именно на дотнете, бесплатную .NET-библиотеку для работы с пдф, которая позволит выполнить эти действия.
Код будет интегрирован в достаточно массивную самописную орм, не хочется для такой небольшой задачи ее (и так за годы ставшую монстрообразной) дополнительно обвешивать внешними приложениями.
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532392
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeBardобвешивать внешними приложениями.это не страшно.

разделяй и властвуй (с)

кого интересует кроме разработчика какие и сколько dll,exe и процессов в приложении
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532396
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeBard,

на входе у тебя файлы изображений или pdf?
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532397
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeBard,

Да вы попробуйте, там все просто, я вам фактически дал ссылки на бинарники.
cmd через Shell из .Net не вызовете (с ожиданием завершения процесса)?

>дополнительно обвешивать внешними приложениями.
GS требует dll+exe ну либо API вместо exe (под спойлером все есть, с callback-ами аккуратней, но они вам не нужны).
tiff2pdf.exe требует 3 маленьких dll (имена легко вычислите, положив в отдельную папку).

Самый большой gsdll32.dll ~15MB (если не компилировать ненужные "девайсы", можно сделать около 11МБ).
Мне этот размер тоже когда-то не понравился, но таки согласился и несколько лет все нормально, оно того стоит.

Не, хотя говорят есть пи-д-тые .Net dll, кот. "работают из браузера",
но я б на вашем месте попробовал/воспользовался тем что я сказал, оно вашу задачу предположительно решит на ура.

В общем дело ваше.
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532490
FreeBard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил, файлы пдф
...
Рейтинг: 0 / 0
Компрессия pdf
    #39532492
FreeBard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77, я конечно попробую, хотя бы как альтернативный вариант, но все же для меня в данной задаче предпочтительней решение на дотнет
...
Рейтинг: 0 / 0
Компрессия pdf
    #39533100
FreeBard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена взломом Docotic'a
...
Рейтинг: 0 / 0
Компрессия pdf
    #39533225
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreeBardDocotic'aоставайтесь на месте, за вами уже выехала
...
Рейтинг: 0 / 0
Компрессия pdf
    #39542217
Алымов Анатолий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Компрессия pdf
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]