gifts2017

И снова "Как сжать картинки для экспорта в EXCEL?" или Умная картинка 8.2

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Программирование - Практика программирования

Прошла уже эпоха , когда экономили на трафике интернета.
Но все же...повторюсь.
Я предлагаю  совершенно новый способ сжатия картинки - эффект в 20 раз !!!

Даже не знаю, насколько это актуально и востребовано....

Но, на всякий случай, для потомков.

Итак, внешний вид обработки:

 

 

В каталоге с внешней обработкой лежит файл картинки 2.jpg размер 763 кб. (можете заменить на свой)

Нужно его, например, добавить в прайс-лист.

4 варианта - решения данного вопроса.

  • 1 Вариант - штатное сохранение макета табличного документа в xls   192 кб.
  • 2 Вариант - штатное сохранение макета табличного документа в xlsx  173 кб.
  • 3 Вариант - штатный способ, но с хитрой подменой                             27 кб.
    (при проведении лабораторных испытаний выяснилось, что файл формата *jpg 1С при сохранении в формат EXCEL для чего-то переконвертирует в формат png - неплохо, при таком подходе страдает качество картинки).
  • И вот вчера вечером в голову пришел 4 вариант.... пока это тайна (для вас бесплатно).
    Для работы 4 варианта на данном этапе необходим установленный Microsoft Office Excel.

Интересно было бы услышать ваши предложения и комментарии (как еще лучше получить более сжатый файл).

На картинке показан результат от 192 кб (штатный способ) до 23 кб (можно и меньше, но уже начинает страдать качество)

 

 

Можно сделать экспортной функцией и сжимать файлы перед печатью;

Можно сжимать файлы (внешние или из хранилища) и сохранять отдельно;

Готовить например картинки по одному формату (размер, разрешение, объем);

Указывать % сжатия;

и многое-многое другое.

Дополнительный материал:

В 60 !!! раз сжимаем файл MS EXCEL с картинками (созданный программно из 1С) (для 7.7)

Сжать файл EXCEL в 60 раз ! (альтернатива)

Как сохранить все картинки из файла EXCEL(Word)

Как сохранить картинки из КОЛОНТИТУЛА файла EXCEL(Word)

Будут вопросы, пишите - всегда Ваш Tatitutu (c)

 

В архиве NOSIZE.zip - папка ПРИМЕР, в ней УмнаяКартинка.epf (сама обработка) и файл картинки для примера.

Запустите обработку: по очереди 4 варианта - оцените полученный результат.

Скачать файлы

Наименование Файл Версия Размер
NOSIZE.zip 29
.zip 854,56Kb
17.06.15
29
.zip 1.0.01 854,56Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Юрий Тимофеев (Tatitutu) 17.06.15 10:31
Подсказка про Вариант3 (для тех кто не хочет лишний раз качать )

суть идеи (может баян или велосипед) можно меня ткнуть носом (правда это хлопотно)

При выводе на печать картинки есть строго заданный макет печатной форму и объекта картинка
пусть наша картинка будет размером 5 на 4 см.
Картинки могут храниться как на внешнем носители так и базе (хранилище) - но не всегда картинки "хорошего" размера
(был случай клиент купил новый фотоаппарат и добавлял в базу картинки весом около 20 мб - потом спрашивал что у меня за тормоза - смешной)
Платформа 1С 8 очень не плохо по сравнению с 7.7 версией научилась автоматически при сохранении сжимать картинки (зависит от формата EXCEL)
но все же иногда хочеться побольше да посильнее "сжать" выходной файл.
Для этого нам понадобиться дополнительный макет с объектом картинка - но меньшего размера например 2,5 на 2 см (-50%)
Далее
- создаем Табличную форму с одной маленькой картинкой
- сохраняем файл
- извлекаем нашу картинку
- подставляем ее вместо ПЕРВОЙ изначальной картинки в нужный например ПРАЙС- ЛИСТ (вместо файл 20 мб получить 2 мб - я думаю это очень не плохо)

Продолжение следуют.... (про Вариант4)
navigator-it; +1 Ответить
2. Юрий Тимофеев (Tatitutu) 18.06.15 09:49
Столько народу спрашивало, спрашивало - все времени не было выложить. Выложил и не кому не нужно )))
Ну ничего не меняется. Нужно было назвать "Неуловимая обработка" - Почему неуловимая ? - да никому потому что не нужна :)
3. Сергей Рудаков (fishca) 18.06.15 11:22
Возьму на заметку, спасибо!
4. Юрий Тимофеев (Tatitutu) 18.06.15 11:26
(3) fishca, сначала предложи суть Варианта4
5. Сергей Огородников (Serg O.) 19.06.15 15:34
я сам тоже "допёр" что xlsx лучше...
у нас прайс-лист с картинками есть... около 300 фото...
xls - делает около 100 Мб
xlsx - делает 17 Мб
так что 2-го варианта обычно достаточно....

3 вариант - очень сильно ухудшает фото (см. 111.jpg)

4 - вообще не работает, выдаёт ошибку

{ВнешняяОбработка.УмнаяКартинка.МодульОбъекта}: Ошибка при вызове конструктора (ЧтениеZipФайла)
по причине:
Некорректный формат файла: C:\Documents and Settings\ogorodnikov\Local Settings\Temp\v8_A676_54.xlsx


Прикрепленные файлы:
6. Юрий Тимофеев (Tatitutu) 19.06.15 15:47
(5) Serg O., Спасибо за отзыв.
3 Вариант - это как идея - там можно "играть" качеством уменьшать/увеличивать подменный макет
4 вариант - у вас выдал ошибку скорее всего файл был отличный от формата jpg
выложу в открытом виде (как наберу 27 звезд :-) там можно изменить на любой формат графического файла или сделать универсальный)
Прикрепи файл (C:\Documents and Settings\ogorodnikov\Local Settings\Temp\v8_A676_54.xlsx)
7. Олег Докукин (osvan) 07.12.16 09:17
Юрий, добрый день! Нужна обработка для сжатия прайса 1С с картинками в EXEL для 1С8. У тебя была подобная для 1С7. Можешь помочь?
8. Юрий Тимофеев (Tatitutu) 07.12.16 10:53
(7) Так это и есть эта обработка (она полностью рабочая)
а теория вот