Сжатие pdf

seoman2

Green Team
17.02.2010
507
1
BIT
72
Есть ли готовое решение, библиотека сжатия pdf-файлов (всякие сканы докментов) под лотус скрипт, которая хорошо сжимает файлик?
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
Может, как вариант, есть консольная прога с командной строки? не нашел такую.
Или библиотека с таким функционалом....
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
340
Что значит "сжатие"? Сканы документов - как я понимаю, это JPEG. Используйте меньшее разрешение, используйте распознавание текста вместо изображений, DPI самого PDF документа тоже может иметь значение. Если этого недостаточно, то любой консольный архиватор, у любого архиватора есть консольная версия. Если хотите архиватор обязательно в библиотеке, то их тоже полно, но, конечно же, не для Lotus Script.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
231
@garrick
У tif, да и у самого pdf, есть масса информации, которая предназначена для более быстрого редактирования, и которую можно безболезненно удалить. Это и называется сжатием. При повторном редактировании файлов эта информация вновь создаётся редактором. Если открыть pdf, в котором не картинка, а к примеру, текст, и удалить часть текста, то при сохранении файл не уменьшится, а наоборот немного увеличится в размерах. Это как раз и происходит из-за добавлением редактором в файл некоторой нужной ему для работы информации.

@seoman2
Я использую в качестве виртуального принтера PDFCreator. В его UI есть настройки сжатия. Чем выгодное отличие его от других - он имеет COM-модель и порты для разных языков программирования, в т.ч. и для vba. Сжатием не баловался, и не знаю, есть ли в его API такая возможность, но из Lotus когда-то давно его использовал.
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
используйте распознавание текста вместо изображений, DPI самого PDF документа тоже может иметь значение
К сожалению процесс такой - что даются уже готовые ПДФ, совсем не оптимизированные.
Я использую в качестве виртуального принтера PDFCreator.
Он на Ghostscript, я пока что прикрутил их родную прогу gswin64c.exe. Но это надо ставить всем софт.

В общем есть куча сотрудников, они насканивают ПДФ - вне моей зоны влияния. потом эти пдф крепят в лотус карточку.
потом я конверчу пдф + всякое разное в ХМЛ.. Вот и хочу на этапе конвертирования сжимать пдф.

Может есть библиотека? Чтобы ничего не ставить юзерам, а в лотус-базу прицепить.
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
501
Может есть библиотека? Чтобы ничего не ставить юзерам, а в лотус-базу прицепить.
хз, itext посмотри, aspose , но это больше про ответ "есть ли библиотека".
А сути решаемой задачи и проблемы до сих пор не улавливаю.
Зачем его сжимать?
 

aameno2

Lotus Team
27.01.2009
773
182
BIT
364
Подключите ++ и сжимайте на здоровье, вопрос какой профит. Например LibHaru, говорят опенсорс
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
501
Чтобы базы н были гигантскими от пдф.
Без сжатия к примеру 40 мб, а с сжатием - 5 мб
тогда проще это делать отдельно, на сервере, шедулером, и не надо будет софт ставить всем.
Либо вообще вручную с одного места, раз в неделю.
Базы можно создавать сколько угодно, если в размер уперлась.
А так еще проще диски купить, сколько сейчас 1 Тб стоит?
 
  • Нравится
Реакции: Мыш

garrick

Lotus Team
26.10.2009
1 367
152
BIT
340
Я так понимаю, что "приходят" PDF, которые по сути состоят из JPEG разного размера и качества.
Первое - вынимать из PDF изображения, оптимизировать по качеству и размеру (Java или какая-то внешняя программа), при необходимости иметь именно PDF, собирать их снова их новых изображений.
Второе, если изображения не сканы паспортов, печати, подписи или т.п., а простые текстовые документы, прогонять их через какую-то программу распознавания текста и собирать обратно PDF не из картинок, а из текста, размер будет существенно меньше. Ещё можно качество текста настроить (DPI), значение поменьше - размер меньше, но читается хуже.
 

seoman2

Green Team
17.02.2010
507
1
BIT
72
тогда проще это делать отдельно, на сервере, шедулером
С тем что есть - да.
А алгоритм работы - сотня людей (канцелярии) сканят бумажки, крепят ежедневно пдфки в доки в лотус базу (повлиять на это всё я не могу) , потом конвертят пдф + еще данные - в другой формат с цифровой подписью, шлют друг другу...
то есть надо сразу сжимать.

Есть прикольная статистика сжатия ПДФ.
с помощью ява библиотеки Multivalent .
НО в Multivalent20091027 - инструменты PDF для сжатия, наложения, дешифрования/шифрования, разделения/объединения были перемещены ((
куда то.
Нати бы ява библиотеку Multivalent с методом Compress...
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
501
С тем что есть - да.
А алгоритм работы - сотня людей (канцелярии) крепят ежедневно пдфки в доки в лотус базу , котом конвертят пдф + еще данные - в другой формат с цифровой подписью, шлют друг другу...
то есть надо сразу сжимать.
один/два дня база может спокойно выдержать и без сжатия.
Даже неделю может.
оффтоп:
Если вмешаетесь в процесс работы людей и будете сжимать там, то убедитесь, что это быстро. Потому что если это будет тормозить, то жалоб будет много.
Это разработчикам кажется, что всё хорошо и быстро и вообще они молодцы. Ни фига подобного.
Если люди крепят по сотке доков за 8 часов, то при увлечении времени крепления одного документа - итоговое количество меньше.
Меньше сегодня прикрепил, надо завтра докрепить, либо задерживаться. И их ли вина в этом?
Пусть себе крепят как крепили, просто потом за ними прибраться - быстрее, проще, спокойнее.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
есть общий подход:
- дербаним
- конвертим в формат картинок
- меняем разрешение на картинках (DPI) - в java либах (см. выше)
- (тоже pdfBox)
качественно перерендерить картинку - надо смотреть по вариантам
ещё можно обесцвечивать (если допустимо)

готовых утилей (качественных) я не встречал, продукты от ABBYY - шлак, в в этом плане
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
как-то писал сервис:
- забирал pdf с ФС
- PDF дербанил по странично
- баркоды распознавал на страницах
- потом складывал в темпы страницы, с именами из баркодов
- отправлял ответ (в виде пути с именами файлов по баркодам), в клиент/сервер там пох - т.к. вызов через LS2J внешней жвм (варик - "родной" доминошной/нотуснёвой )
все это делал через RunTimeLib
библиотеку использовал (в т.ч.) aspose (за скорость и удобство)
баркоды можно и ZXing - было медленнее и качество имеджа требовалось выше
 
Последнее редактирование:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
@garrick
У tif, да и у самого pdf, есть масса информации, которая предназначена для более быстрого редактирования, и которую можно безболезненно удалить. Это и называется сжатием. При повторном редактировании файлов эта информация вновь создаётся редактором. Если открыть pdf, в котором не картинка, а к примеру, текст, и удалить часть текста, то при сохранении файл не уменьшится, а наоборот немного увеличится в размерах. Это как раз и происходит из-за добавлением редактором в файл некоторой нужной ему для работы информации.

@seoman2
Я использую в качестве виртуального принтера PDFCreator. В его UI есть настройки сжатия. Чем выгодное отличие его от других - он имеет COM-модель и порты для разных языков программирования, в т.ч. и для vba. Сжатием не баловался, и не знаю, есть ли в его API такая возможность, но из Lotus когда-то давно его использовал.
при "печати" тупой алгоритм может сговнякать изображение, проходили - неайс
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
есть утиль (на линухах) scantailor - вот это уровень...
увы - заброшен
лучшего результата предобработки для OCR я не видел (опять плевок в ABBYY)
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
231
есть утиль (на линухах) scantailor - вот это уровень...
увы - заброшен
Это какой-то древнючий репозиторий. Сейчас есть куча форков. можно глянуть полный перечень. В этом году даже что-то дорабатывалось.
Но это всё же сильно упрощённая прога. Её задача - простота и удобный UI. Если хочется полного управления настройками, тогда лучше (мне не нравится из-за дикого UI).
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 980
611
BIT
427
Это какой-то древнючий репозиторий. Сейчас есть куча форков. можно глянуть полный перечень. В этом году даже что-то дорабатывалось.
Но это всё же сильно упрощённая прога. Её задача - простота и удобный UI. Если хочется полного управления настройками, тогда лучше (мне не нравится из-за дикого UI).
там не UI ценный, а движок выравнивания и оптимизации текста... ;)
что есть форки - здорово, спс за инфу (я не искал, обычно в репе юзал готовую сборку)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!