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

Прошла уже эпоха , когда экономили на трафике интернета.
Но все же…повторюсь.
Я предлагаю  совершенно новый способ сжатия картинки — эффект в 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 варианта — оцените полученный результат.

10 Comments

  1. Tatitutu

    Подсказка про Вариант3 (для тех кто не хочет лишний раз качать )

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

    При выводе на печать картинки есть строго заданный макет печатной форму и объекта картинка

    пусть наша картинка будет размером 5 на 4 см.

    Картинки могут храниться как на внешнем носители так и базе (хранилище) — но не всегда картинки «хорошего» размера

    (был случай клиент купил новый фотоаппарат и добавлял в базу картинки весом около 20 мб — потом спрашивал что у меня за тормоза — смешной)

    Платформа 1С 8 очень не плохо по сравнению с 7.7 версией научилась автоматически при сохранении сжимать картинки (зависит от формата EXCEL)

    но все же иногда хочеться побольше да посильнее «сжать» выходной файл.

    Для этого нам понадобиться дополнительный макет с объектом картинка — но меньшего размера например 2,5 на 2 см (-50%)

    Далее

    — создаем Табличную форму с одной маленькой картинкой

    — сохраняем файл

    — извлекаем нашу картинку

    — подставляем ее вместо ПЕРВОЙ изначальной картинки в нужный например ПРАЙС- ЛИСТ (вместо файл 20 мб получить 2 мб — я думаю это очень не плохо)

    Продолжение следуют…. (про Вариант4)

    Reply
  2. Tatitutu

    Столько народу спрашивало, спрашивало — все времени не было выложить. Выложил и не кому не нужно )))

    Ну ничего не меняется. Нужно было назвать «Неуловимая обработка» — Почему неуловимая ? — да никому потому что не нужна 🙂

    Reply
  3. fishca

    Возьму на заметку, спасибо!

    Reply
  4. Tatitutu

    (3) fishca, сначала предложи суть Варианта4

    Reply
  5. Serg O.

    я сам тоже «допёр» что xlsx лучше…

    у нас прайс-лист с картинками есть… около 300 фото…

    xls — делает около 100 Мб

    xlsx — делает 17 Мб

    так что 2-го варианта обычно достаточно….

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

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

    {ВнешняяОбработка.УмнаяКартинка.МодульОбъекта}: Ошибка при вызове конструктора (ЧтениеZipФайла)

    по причине:

    Некорректный формат файла: C:Documents and SettingsogorodnikovLocal SettingsTempv8_A676_54.xlsx

    Reply
  6. Tatitutu

    (5) Serg O., Спасибо за отзыв.

    3 Вариант — это как идея — там можно «играть» качеством уменьшать/увеличивать подменный макет

    4 вариант — у вас выдал ошибку скорее всего файл был отличный от формата jpg

    выложу в открытом виде (как наберу 27 звезд 🙂 там можно изменить на любой формат графического файла или сделать универсальный)

    Прикрепи файл (C:Documents and SettingsogorodnikovLocal SettingsTempv8_A676_54.xlsx)

    Reply
  7. osvan

    Юрий, добрый день! Нужна обработка для сжатия прайса 1С с картинками в EXEL для 1С8. У тебя была подобная для 1С7. Можешь помочь?

    Reply
  8. Tatitutu

    (7) Так это и есть эта обработка (она полностью рабочая)

    а теория вот

    Reply
  9. Азверин

    Автор, код обработки открыт?

    Reply
  10. Tatitutu

    (9) на 75% (первый три способа доступны всем)

    4-й остался — загадкой (уже три года прошло)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *