Немного о графических файлах. Сжатие. Распознавание текста

Публикация № 1056836 06.05.19

Разработка - Инструментарий разработчика

Обработка Импорт изображений Распознавание текста Сжатие графических файлов

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

Самый простой способ борьбы с лишним весом 

 Работаем, работаем, записываем графические файлы в базу и вдруг бац. База неотвратимо приближается к терабайту. И все из-за них. 

В борьбе за байты, наверное, подойдут любые методы, даже широко известные Com объекты от Майкрософт, как: “WIA.ImageFile" и “WIA.ImageProcess”. Они просты и доступны с Windows XP pac. 2. То есть целую вечность. Но, увы, работают с диском и не могут перезаписать исходный файл

Что эта парочка умеет. Обрезать, изменять размер, поворачивать, конвертировать, сжимать и наклеивать другое изображение. То есть практически все.  

Самый простой способ борьбы с лишними байтами это сконвертировать тяжелые файлы. То есть Формат BMP можно смело конвертировать, не забивая себе голову. Как минимум мегабайт экономии 

Создаем объекты 

 

ImageProcess = новый COMОбъект("WIA.ImageProcess");
ImageFile = новый COMОбъект("WIA.ImageFile"); 

 

Форматы 

 

wiaFormatBMP    = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}";
wiaFormatJPEG   = "{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"; 

 

Ну и собственно, конвертация 

ImageFile.LoadFile(ПутьКФайлу);
НомерПараметра = 0; //Фильтр Convert должен применятся быть последним 
Если  ImageFile.FormatID = wiaFormatBMP Тогда  
	Filter = ImageProcess.FilterInfos("Convert").FilterID ;  
	ImageProcess.Filters.Add(Filter);  
	ImageProcess.Filters(НомерПараметра).Properties("FormatID").Value = wiaFormatJPEG; 
	//Сжатие изображения, если требуется ( 
	ImageProcess.Filters(НомерПараметра).Properties("Quality").Value = 5; 
	//) 
	newImageFile = ImageProcess.Apply(ImageFile);  
	ИмяНовогоФайла = ПолучитьИмяВременногоФайла(newImageFile.FileExtension);  
	newImageFile.SaveFile(ИмяНовогоФайла); 
КонецЕсли;

 

Распознавание текста. 

Бывает очень нужно, а  Файн ридера нет. 

"MODI.Document"  в помощь. Доступная бесплатная библиотека от MS.  Вполне себе сносно распознает текст. Правда только TIFF. Но мы то уже умеем конвертировать форматы. Вместо JPEG формата применяем TIFF формат

Document = Новый ComObject ("MODI.Document"); 
Document.Create(ИмяФайлаДляРаспознания); 
Document.OCR(25); //25 это Русский 
Result = Document.Images.item(0).Layout.Text; 
Document.Close(); 
ТД = Новый ТекстовыйДокумент; 
ТД.УстановитьТекст(Result); 
ТД.Показать(); 

Скачать библиотеку MODI.Document" можно с дистрибутивом SharePoint Designer 2007. Не нужен SharePoint, так установите только Microsoft Office Document Imaging.  Инструкция установки MODI с сайта поддержки майкрософт

В прилагаемой обработке пример работы с изображением. Коды форматов для WIA.ImageProcess и коды языков для MODI.Document.

Тестировалось на платформе 8.3.10 управляемое приложение. У пользователя было отключена  Защита от опасных действий.

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

Наименование Файл Версия Размер
Сжатие графических файлов и распознавание текста:

.epf 27,52Kb
12
.epf 1..0.0.0 27,52Kb 12 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kolya_tlt 81 07.05.19 09:41 Сейчас в теме
Для решения этой проблемы имеется подсистема Томов в БСП и причем кроссплатформенная, без всяких КОМов, майкрософтов и т.д.
2. tusv 208 07.05.19 12:28 Сейчас в теме
(1)Не подсистема томов, а Работа с файлами. И она не сжимает, ни распознает и использует внешние компоненты. ИМХО
3. Vasas2007 08.05.19 05:40 Сейчас в теме
(1)бсп может не быть в конфе.
4. Infector 195 08.05.19 10:48 Сейчас в теме
Самый простой способ борьбы с лишними байтами это сконвертировать тяжелые файлы. То есть Формат BMP можно смело конвертировать, не забивая себе голову.


в подавляющем большинстве случаев, но не всегда, т.к. качество изображения при такой манипуляции тоже меняется.
Простой эксперимент позволяем убедиться - рисуем в paint черный квадрат, сохраняем в BMP, открываем заново и увеличиваем масштаб, так чтобы разглядеть граничные пиксели. Затем пересохраняем в JPG и проводим тот же фокус с приближением масштаба.

Т.е. если появление градиента на границах элементов изображения не критично - можно делать. А вот если подразумевается обработка картинок какими-либо специфическими программами (например теми, которые пытаются конвертировать растровые избражения в векторные), то может отрицательно сказаться на результате.
5. tusv 208 08.05.19 12:25 Сейчас в теме
(4)Это да. Но кому надо качество. самый оптимальный путь организовать Фото банк
6. user1302156 31.10.19 09:14 Сейчас в теме
Добрый день, подскажите почему программа ругается на эти строки

ImageProcess.Filters(НомерПараметра).Properties("FormatID").Value = wiaFormatJPEG; 
	
	ImageProcess.Filters(НомерПараметра).Properties("Quality").Value = 5; 


Пишет что индекс вышел за границы, при этом меняла значение НомерПараметра на другие ситуация не меняется
7. realm 25.11.22 06:18 Сейчас в теме
(6) Сделайте НомерПараметра = 1
Оставьте свое сообщение

См. также

Загрузка google таблицы

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Загрузим google таблицу через GET запрос.

1 стартмани

17.05.2023    4450    4    John_d    31    

73

Бесплатная отправка сообщений в Whatsapp бот из 1С

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: Имеются 200 контрагентов, которым ежедневно нужно из отчета 1С выслать сумму их задолженности или предоплаты в Whatsapp (рассылка должна идти с номера менеджера этих контрагентов).

2 стартмани

08.06.2022    11249    48    John_d    48    

143

Интересная задача на Yandex cup 2021

Математика и алгоритмы Бесплатно (free)

Мое решение задачи на Yandex cup 2021 (frontend). Лабиринт. JavaScript.

12.10.2021    6829    John_d    73    

46

Создание стартовой базы

Обмен между базами 1C Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Часто требуется создать «Новую базу» почти пустую, но совпадающую с «Исходной базой» по необходимым обязательным настройкам: константам, регистрам сведений, справочникам, видам субконто и планами счетов и т.п., при этом уникальные идентификаторы объектов должны совпадать.

1 стартмани

11.10.2021    15221    24    sapervodichka    48    

111

ТСД на JavaScript (кроссплатформенный, бесплатный)

Терминал сбора данных Бесплатно (free)

Написал ТСД на JavaScript. ТСД не требует установки драйверов (работает в режиме клавиатуры). Будет работать на любом устройстве, где можно установить chrome.

07.09.2021    6966    John_d    114    

167

Как отключить информационную базу от главного узла РИБ

Обмен между базами 1C Россия Бесплатно (free)

Поэтапность действий как отключить периферийную базу от главного узла и сэкономить время ))

16.09.2020    30058    dron-s    13    

28

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Инструментарий разработчика Разработка внешних компонент WEB-интеграция Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    12176    8    DrZombi    7    

22

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

WEB-интеграция Платформа 1С v8.3 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    10881    RPGrigorev    3    

126

Универсальные инструменты 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Свободно распространяемый набор универсальных обработок и отчетов в виде расширения для разработки и поддержки, которое работает во ВСЕХ видах клиентских приложений и во всех операционных системах, которые поддерживает платформа 1С:Предприятие, кроме мобильных. Консоль запросов - консоль отчетов - консоль кода - редактор объектов базы данных - удаление помеченных объектов - поиск и удаление дублей - редактор констант - консоль заданий - групповая обработка справочников и документов - динамический список - поиск ссылок на объект - регистрация изменений для обмена данными - структура хранения базы - консоль HTTP запросов-консоль вебсервисов- консоль сравнения данных- информация о лицензиях- загрузка из табличного документа-файловый менеджер-все функции- навигатор по конфигурации-конструктор регулярных выражений-Выгрузка загрузка XML с фильтрами

21.01.2020    78799    7724    cprit    219    

656

Хранение файлов - как уменьшить размер базы данных

Инструменты администратора БД Платформа 1С v8.3 Россия Бесплатно (free)

Хранение файлов в базе 1С можно оптимизировать для уменьшения размера хранимых данных.

09.09.2019    11194    2tvad    19    

22

1С:Ассемблер. Немного летнего веселья!

Языки и среды Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и мы попробуем его в действии!

1 стартмани

21.06.2019    39027    Evil Beaver    152    

397

Немного о графических файлах. Сжатие. Распознавание текста

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

06.05.2019    12640    12    tusv    7    

58

Практика перехода на Linux и Postgres в небольшой компании (10 пользователей)

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Почему я решил поставить давнему клиенту Linux + Postgres вместо Windows + MS SQL? Что меня останавливало раньше?

22.04.2019    39603    starik-2005    183    

122

HTML-клиент у конфигурации 1С

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Приветствую. В этой публикации опишу свой опыт создания html-клиента для конфигурации 1С с помощью http-сервисов. HTML-клиент в этом случае - это frontend (html + css+ js), который генерирует и выдает пользователю конфигурация + backend, который тоже реализован в этой же конфигурации.

17.04.2019    24595    Smaylukk    123    

179

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105345    bonv    261    

874

Уменьшаем трафик: HTTP запрос со сжатием GZIP средствами 1С. На примере выгрузки файлов на Яндекс-диск

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка демонстрирует отправку тела HTTP запроса со сжатием gzip (метод deflate) средствами платформы 1С. Демонстрация происходит на примере отправки текста или файла на Яндекс.Диск.

1 стартмани

03.09.2018    11470    85    uno-c    8    

26

Чтение сжатого gzip, deflate HTTP ответа сервера. Без ВК. Уменьши время загрузки и сократи трафик в 3 раза

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В платформе 1С:Предприятие не реализовано штатного механизма декодирования ответа веб серверов, в которых присутствует gzip сжатие. Некоторые использовали WinHttpRequest.5.1 , кто-то писал ВК. Друзья, хватит. Вот вам решение.

1 стартмани

08.06.2018    29921    145    Malfarion    24    

79

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

Обработка документов Обработка справочников Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

03.05.2018    94755    Mirage78    27    

88

Обработка печатной формы WORD клиент-сервер УФ

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Это моя первая статья на данном портале, но попытаюсь изложить все понятно и подробно. Долгое время у меня заняло создание такой вот внешней обработки. Есть очень много примеров, как сделать подобное на неуправляемых формах (2.0) и очень мало информации касательно управляемых(3.0), по крайней мере я многого найти не смог в доступе. Создание подобное обработки выглядит вполне несложно, если производить все действия на сервере, как это было с 2.0, но в нашем случае необходимо инициализировать открытие документа на клиенте, чему сильно мешает отсутствие возможности передать макет Active Document с сервера на клиент.

2 стартмани

14.03.2018    32302    LeoKeyn    46    

43

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Конвертация данных Бесплатно (free)

Что такое КД3? Как начать использовать? Полезные дополнения к документации. Что нужно исправить в типовых обработках и конфигурации. Как изменить правила обмена не снимая конфигурацию с поддержки. Как отлаживать правила обмена?

19.11.2017    298299    MaxS    450    

1128

Инструменты бухгалтера: Виджеты рабочего стола

Универсальные обработки Рабочее место Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Абонемент ($m)

Настраиваемые виджеты на начальной странице, своеобразная панель для быстрого доступа к объектам. Виджеты это элементы интерфейса в виде цветных прямоугольников со ссылками на объекты конфигурации. Использование виджетов позволяет сконцентрировать на начальной странице часто используемые функции, например, варианты отчетов, списки документов, или используя виджет вводить новый документ прямо из начальной страницы.

2 стартмани

28.08.2017    54332    199    Bazil    33    

148

Зачем 1С-нику NoSQL и CRDT

WEB-интеграция Бесплатно (free)

В статье речь пойдет о современных инструментах для хранения, транспорта, обработки и обмена данными на примере популярной NoSQL-базы CouchDB.

12.08.2017    25336    unpete    27    

100

54 ФЗ своими руками

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Бесплатно (free)

Практический опыт внедрения изменений в 54ФЗ в розничной сети, работающей на 1С. Если вы не хотите платить каким-либо подрядчикам, которые "всё сделают и настроят за вас", то статься может оказаться крайне полезной.

17.04.2017    59906    comol    124    

91

Формирование штрихкода EAN-13 в SVG с помощью XDTO

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В версии платформы 8.3.9 было объявлено о поддержке изображений в формате SVG. Данная обработка демонстрирует работу с данным форматом, а именно его формированием (рисованием). Ну а так как самой популярной картинкой в 1С, наверное, является картинка штрихкода EAN - ее я и решил рисовать.

1 стартмани

24.03.2017    17060    66    kot-stas    22    

66

План обмена в формате "EnterpriseData" для 1С 7.7

Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Пример организации надёжной синхронизации данных через универсальный формат "EnterpriseData" между конфигурациями на базе 1С 7.7 и произвольными приложениями.

1 стартмани

07.01.2017    31643    27    binex    23    

20

"Распределение в запросе" или "избавляемся от перебора"

Математика и алгоритмы Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    42014    alexandersh    52    

224

Маркировка: 2D Android Штрихкод сканер + драйвер устройства для 1С

Сканер штрих-кода Розничная торговля Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Абонемент ($m)

Драйвер торгового оборудования и приложение для Android, телефон или планшет в качестве стандартного штрихкод сканера для платформы 1С.

3 стартмани

29.11.2016    62533    209    dreamadv    119    

151

Редактирование табличной части объекта с помощью СКД

Инструментарий разработчика Система компоновки данных Конфигурации 1cv8 Россия Абонемент ($m)

Тема не нова - похожие решения были и на 8.0. К написанию статьи меня подтолкнул коллега, т.к. я это чудом не считаю. Несколько раз я видел тонны сложнейшего, и посему нерабочего кода, целью которого было сделать нечто похожее средствами, которые для этого не предназначены. В статье дан простейший пример, показывающий, как можно применять средства СКД для редактирования сложной структуры данных, например, табличных частей документов. В частности, рассмотрена работа с набором данных типа "Объект" и событием "Обработка расшифровки"

2 стартмани

16.09.2016    43846    140    Hatson    30    

144

Примеры скриптов на OneScript

OneScript Россия Абонемент ($m)

В своей работе нам часто приходится заниматься рутинными операциями. При небольшом их объеме "ручное" выполнение еще допустимо, но с ростом их числа все мы задумываемся об автоматизации. Вот тут нам на помощь и приходят скрипты. На этом сайте уже выложено немало примеров различных скриптов, вот и я решил внести свою лепту.

1 стартмани

14.07.2016    38648    61    Drak0n    44    

157

Набор данных Объект в СКД для решения задач сортировки, нумерации и вывода в отчет произвольных наборов данных

СКД Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Использование набора данных Объект в СКД, может добавить вашему отчету новые интересные возможности. В этой статье я покажу, как я использовал набор данных Объект при решении одной задачи.

04.07.2016    76946    lopatin    13    

82

Учет путевых листов

Обработка документов Печатные формы Учет рабочего времени Учет ТМЦ Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бухгалтерский учет Управленческий учет Абонемент ($m)

Внешняя обработка по учету путевых листов для управляемых форм. Позволяет сохранять во внешнем файле данные об автомобилях, водителях и путевых листах. Позволяет печатать формы №3 и №4-П. Позволяет вести учет задолженностей водителей за бензин и сравнивать расход по норме (по показаниям спидометра) и фактический расход бензина.

3 стартмани

27.06.2016    22273    82    DrugOn    10    

19

Google Analytics API, Oauth2.0 и 1c8

WEB-интеграция Платформа 1С v8.3 1С:Франчайзи, автоматизация бизнеса Бесплатно (free)

Обращение к Google Analytics API, Протокол Oauth 2.0 и запросы от 1С:8 без авторизации пользователя

02.05.2016    28801    Ольга_tmp    18    

56

Регулярные выражения без внешних компонент? Легко!

Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    80894    starik-2005    111    

414

УПД для документа "Поступление товаров и услуг" (БП 3.0) за поставщика

Печатные формы Оптовая торговля Производство готовой продукции (работ, услуг) Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Внешняя печатная форма для документа "Поступление товаров и услуг" позволяет печатать "Универсальный передаточный документ (УПД)" за поставщика в ред. постановления Правительства РФ 1137, 625 и 981

1 стартмани

20.12.2015    26326    281    romanco    18    

10

Автозаполнение адресов в 1С (API Google autocomplete place)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье вы увидите пример, как можно с помощью API Google autocomplete place делать подсказки при заполнении адреса

19.10.2015    14543    d.alexandr    27    

115

Удаление организации из 1С. Чистка базы 1С. Удаление "не удаляемых" объектов

Чистка данных Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Удалить все документы, чтобы в базе осталась только одна организация со своими документами? Удалить всю информацию в регистрах, не связанную с указанной фирмой? Удалить "неудаляемую" номенклатуру? Легко! Используйте эту обработку.

10 стартмани

02.10.2015    73735    344    spy-83    83    

40