Генерация штрих-кода для вставки его в “1С:Підприємство” при работе в Linux

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но, “1С:Підприємство” не понимает такие форматы. Более того, barcode, генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но, не будем же мы вставлять изображение штрих-кода размером с лист А4… Однако, есть способ, как решить данные проблемы. Генерируем штрих-код в формате ps с помощью команды barcode:

Теперь, нужно преобразовать его в понятный для “1С:Підприємство” формат – это или jpg или png. За это отвечает команда ImageMagick convert. Кроме того, есть возможность указать четкость изображения с помощью параметра -density 150. А так же есть очень полезный параметр для нашего случая -trim. Этот параметр обрезает изображение. Т.е. обрезает всё белое пространство нашего листа. Получаем такую команду для генерации jpg:

Для генерации png:

Сравнивая изображения png и jpg видим, что jpg имеет размер 21,2Кб, а png – 2,7Кб. Т.е. получается, что png лучше использовать, т.к. размер такого файла в 10 раз меньше. Кроме того, в png нет фона. Для того, чтоб не нужно было вызывать несколько команд из линукс и после каждой делать тайм-аут, рекомендую заключить обе команды в “одну команду”, например так:

Можно обойтись и без использования файла, например:

  Автор: Рудюк С . А. https://corp2.net

Read more

Оптимизация изображений средствами командной строки Linux

Иногда возникает такая необходимость — сделать что-то с целой кучей изображений, чаще всего — сжать, чтобы не занимали много места. Есть много разных редакторов — Photoshop, Lightroom и им подобных. Кроме того, появилось уже очень много всяких онлайн сервисов, которые позволяют сжимать и оптимизировать картинки. Если этих картинок с десяток, то можно обойтись каким-нибудь сервисом. А вот если их больше, на помощь приходят консольные утилиты. Одни из таких ImageMagick, jpegoptim, optipng ImageMagick представляет из себя кроссплатформенный набор утилит, который содержит очень много функций для работы с изображениями — конвертирование из одного формата в другой, различные трансформации (ресайз, обрезка, вращение, зеркальное отражение), применение разных эффектов, вроде размытия… и очень много других. Jpegoptim и optipng позволяют сжать изображение без потери качества, а для jpegoptim также возможно сжатие с потерями. Примеры с ImageMagick Поиск и ресайз всех изображений до 500px Для одного файла:

Для нескольких изображений можно использовать такую магию:

Разместить маленькое изображение внутри белого квадрата, заданного размера

Создание пиктограмм 80×80

Примеры с jpegoptim и optipng.

В этом режиме удаляется вся мета-информация, кроме Exif и комментариев. По-умолчанию используется алгоритм сжатия без потери качества Сжатие с потерями, удаление всей мета-информации:

Для оптимизирования всех png изображений можно использовать следующую команду

где -o может быть от -o0 до -o7 Чем выше этот параметр, тем больше фильтров будет использовано для оптимизации. Размер будет меньше, но и обрабатываться каждое изображение будет дольше. В принципе, это весь необходимый минимум чтобы оптимизировать тонну картинок для быстрой загрузки сайтов и экономии места на хостингах. […]

Read more

Конвертирование .xls в .csv в Linux

Для того, чтобы сконвертировать .xls в .csv, прибегнем к помощи утилиты xls2csv, установить которую в CentOS Linux можно, выполнив в командной строке следующую команду:

После успешной установки xls2csv, попробуем конвертировать наш файл .xls в .csv, для дальнейшего разбора данных. Для конвертации выполним команду:

Как вы уже наверное догадались, file.xls – это исходный файл в формате Excel, а file.csv – это полученный файл в результате конвертации. После выполнения последней команды, вы сможете получить все данные, присутствующие в файле file.xls, в файле .csv, согласно формату csv (данные разделенные запятой).   P.S. Данная утилита с некоторых пор стал входить в пакет catdoc. Поэтому, чтоб установить, теперь нужно выполнить команду:

  Источник: http://www.ithowto.ru/329-konvertirovanie-xls-v-csv-v-linux.html

Read more

Реализация быстрого импорта из Excel на PHP

Мы продолжаем рассказывать о технологиях, используемых на нашем сервисе email-маркетинга Pechkin-mail.ru. Одной из ключевых задач любого сервиса, связанного с данными клиентов, является загрузка этих данных на сервис. Для Печкина очень важно быстро и без проблем для пользователя загружать адресные базы, содержащие email-адреса, имена, фамилии и другие дополнительные данные. то использовать в качестве инструмента? В качестве базового стандарта, используемого при импорте адресных баз, мы взяли Microsoft Excel. Объясняется это просто: это стандартный инструмент, которым на базовом уровне владеют 100% пользователей компьютеров. Более того, в бизнесе — это де-факто корпоративный стандарт и используется даже, если на рабочих компьютерах Mac или Linux. Практически все CRM-, CMS-, облачные или десктопные системы имеют экспорт в Excel или CSV, который простым пересохранением приводится к формату XLS или XLSX. Известно также, что “90% ошибок ПО сидит в полуметре от монитора”. Не в обиду будет сказано рядовым пользователям, но мы должны учитывать самый базовый уровень подготовки и тех. поддержке для объяснения достаточно сказать “Загрузите Excel-файл”, а не объяснять процедуру подготовки файла в нужном формате. Проблему пользователей при импорте адресных баз сняли. Но тут возникает уже проблема непосредственно разработки. Наша боль, как разработчиков Excel — это не open-source разработка, а проприетарное решение. Формат данных, особенно в новых версиях после 2007 года (xlsx), нетривиален. На Печкине используется PHP, поэтому мы начали поиск библиотек, которые позволят нам решить данную задачу. Но тут столкнулись с проблемой, что целый ряд библиотек, не позволяют читать xlsx: php-spreadsheetreader reads a variety of formats (.xls, .ods AND .csv) PHP-ExcelReader (xls only) PHP_Excel_Reader (xls only) PHP_Excel_Reader2 (xls […]

Read more

Настройка окружения LXDE для терминальных пользователей XRDP в Linux Ubuntu

Автор: Рудюк С . А. https://corp2.net E-Mail: rs@corp2.net Чтоб проще было создавать новых пользователей при работе в XRDP, рекомендуется сделатья ряд настроек скелета пользователей. 1. Скелет находится по адресу: /etc/skel Владельца и группу для данного каталога указываем: root 2. В каталоге /etc/skel/Desktop можно создать те ярлыки, которые будут создаваться у пользователя при первом входе в систему. Например, вот так выглядит содержимое файла ярлыка “1С:Підприємство” на рабочем столе:

3. Для того, чтоб пользователи не смогли редактировать рабочий стол, укажите права  555 на каталог /etc/skel/Desktop.

4. Для работы в режиме терминала, фон рабочего стола лучше указать однотонный. Т.к. в этом случае проще будет передаваться изображение рабочего стола. Для того, чтоб у всех пользователей был одинаковый рабочий стол, скопируйте файлы в /etc/skel/.config/pcmanfm/LXDE соответвующего настроенного пользователя. В частности, внешний вид рабочего стола определяется в конфигурационном файле /etc/skel/.config/pcmanfm/LXDE. Вот его содержимое:

/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf

5. Для того, чтоб у всех пользователей устанавливался один и тот же скринсервер, необходимо в скелет скопировать файл:

Так же, желательно из системы поудалять все графические скринсерверы. Т.к. даже если установить права только для чтения на данный файл, все равно программа установки скринсервера добавляет атрибут записи. 6. Для того, чтоб пользователи не могли сменить заставку, запретите чтение всем пользователям файла /usr/bin/xscreensaver-demo:

Автор: Рудюк С . А. https://corp2.net

Read more

LXDE

LXDE.org|Lightweight X11 Desktop Environment: “Одно из главных достоинств LXDE – небольшие требования к железу. Философия LXDE – это лёгкость, полезность и практичность.” Contents 1 Установка 2 Запуск окружения LXDE 2.1 Display Managers 2.2 Консоль 3 Советы и рекомендации 3.1 Автомонтирвание 3.2 Автозапуск программ 3.3 Горячие клавиши 3.4 Курсоры 3.5 Шрифты настройка 3.6 Раскладка клавиатуры 3.6.1 udev 3.6.2 Другие способы 3.6.3 Посредством LXDE 3.7 LXDM 3.7.1 Установка LXDM 3.7.2 Настройка 3.7.2.1 Ожидаемое поведение после Logout 3.7.2.2 Автоматический вход 3.8 PCManFM 3.9 Замена оконного менеджера 3.10 Выключение, Перезагрузка (LXSession-logout) 3.11 Редактирование меню приложений Установка LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны. Минимально необходимые пакеты для запуска LXDE: lxde-common, lxsession, desktop-file-utils и оконный менеджер. Вы можете установить группу пакетов LXDE:

Установятся следующие пакеты: gpicview: Простой и легкий просмоторщик изображений libfm: Библиотека для работы с файлами (lxshortcut: Простое средство редактирования ярлычков) lxappearance: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK lxappearance-obconf: Плагин для настройки Openbox через LXAppearance lxde-common: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE lxde-icon-theme: Тема значков LXDE lxdm: Легковесный менеджер дисплея приветствия lxinput: Конфигурационная утилита для клавиатуры и мышки в LXDE lxlauncher: Панель запуска приложений для нетбуков lxmenu-data: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org lxmusic: Минималистичный проигрыватель музыки базирующийся на xmms2 lxpanel: Панель задач с менеджером приложений, меню программ и апплетов lxrandr: Менеджер экрана для LXDE lxsession: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима lxtask: Диспетчер задач и системный монитор LXDE lxterminal: […]

Read more

Как сменить имя хоста (компьютера) в Linux Ubuntu

Итак, давайте рассмотрим очередной глупый вопрос для матёрого линуксоида, но довольно сложную проблему для новичка, а именно – как сменить имя компьютера (hostname) в Ubuntu Linux. Сделать это очень просто, нужно просто отредактировать два текстовых файла и перезагрузить сеть. Всё. Начнём. Для начала нужно отредактировать файл /etc/hosts:

Выглядеть он должен примерно так:

Где вместо “hostname” – имя вашего компьютера. Вот именно его то и нужно сменить. Изменяем, сохраняем. Теперь нужно поправить файл /etc/hostname:

В этом файле содержится только название вашего компьютера и ничего более. Смело изменяем его и сохраняем файл. Вот и всё. Теперь осталось только перезагрузить сеть и изменения вступят в силу:

Можно продолжать работать, но могут возникнуть небольшие проблемы, поэтому лучше будет перезагрузить компьютер. Источник: http://ubuntovod.ru/instructions/change-hostname-ubuntu.html

Read more

gmaps.js — самый легкий способ использования Google Maps API

Расскажу об одной небольшой (~30kb) JS библиотеке для удобной работы с Google Maps API под названием gmaps.js. Раз уж библиотека создана для ускорения процесса веб-разработки, то и я вас задерживать не буду. Как можно понять из названия, она делает не что иное, как упрощает взаимодействие с API Google Maps. Многие из вас работали с API и, вероятно, каждый раз вам приходилось попотеть, чтобы порыться в документации и реализовать, например, свое собственное описание метки на карте. Или подписаться на событие взаимодействия с картой… Итак, она пока еще не заимела ни одной мажорной версии, а в текущий момент имеет версию 0.1.12.3. Распространяется под лицензией MIT License и разрабатывается целым сообществом (и вы тоже можете в этом помочь). Примеры возможностей Создание карты

А еще можно добавить опции zoom, width, height. Хотя по стандарту ширина и высотка карты будут подогнаны под контейнер. События

Поддерживаются все события Maps API. Геолокация

Ну разве не прелесть? Добавление маркера

И всё, всё, всё! Библиотека поддерживает почти полный функционал Maps API, включая вывод статических карт(картинкой), наложение слоев, прокладывание маршрутов, рисование полигонов, рисование своих контролов, GeoRSS и всякое такое остальное… Прошу ознакомиться с сайтом библиотеки: http://hpneo.github.com/gmaps/ и начинать творить. И сразу же форкнуть репозиторий на Github: https://github.com/HPNeo/gmaps UPD:KidsKilla подсказывает, что, в принципе, по Maps API ToS никто не имеет право создавать свои врапперы(оболочки) поверх действующего API, пока не получит официальное разрешение Гугла. (https://developers.google.com/maps/terms, пункт 10.2). На что разработчик (Gustavo Leon) ответил, что сделает две вещи: 1)запросит разрешения у гугла 2)уже открыт тикет по подключению не только […]

Read more

Google Maps API

Картографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё. Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени. Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия». Задача для примера Всё лучше узнавать практически, так что сделаем задачу для примера, чтобы обрести навыки. Вот примерный план работ: Вывести карту (надо же!) Задать город Переместить карту к городу Маркером указать адрес Добавить информации Вывести карту (надо же!) Сохранить маркер с иноформацией (при клике на него вывести ее) Избежать нагромождения (т.е. сделать кластеризацию) маркеров.   Как делать?   Ключ API Ключ API нужен для использования работы с картой, т.е. при запросе всех их скриптов и сервисов в параметры нужно добавлять &key=[тут наш ключ]. Впрочем для http://localhost он не нужен. Получить его надо тут: http://code.google.com/apis/maps/signup.html. Кстати, работает и без него на сайте, но может это временно. Для v.3 не нужен Map\Marker\InfoWindow Для работы нам понадобится 3 основных объекта. Первое – это […]

Read more

Примеры работы с разными map API

Есть много статей на тему знакомства с Google Map Api и Yandex Map Api, но про остальные картографические сервисы не так много практического материала. В недавнем времени работал с Api: Google map Yandex map Yahoo map Bing map OpenStreet map И хотел обобщить работу с вышеупомянутыми сервисами, а именно инициализация карты и установление маркеров по клику мышки. Материалы в статье представлены в виде Html кода, javascript и результата — скриншота, а так же исходники на vs 2010 MVC3. С Google map ситуация проще всего: практического материала много, мой пример выглядит следующим образом: Html page:

Script:

В результате получим карту Google c возможностью добавлять маркеры: Для инициализации Yandex map вам понадобится ключ доступа к сервису и следующий пример: Html page:

Script:

В результате получим карту Yandex c возможностью добавлять маркеры: Обратите внимание на координаты, в Google идет сначала долгота, потом широта, а в Yandex наоборот! Пример работы с Yahoo map api: Html page:

Script:

В результате получим карту Yahoo c возможностью добавлять маркеры: Для работы с Bing map api нужно взять ключ: www.microsoft.com/maps/developers/web.aspx Пример работы с Bing map api: Html page:

Script:

В результате получим карту Bing c возможностью добавлять маркеры: Пример работы с OpenStreet map api: Html page:

Script:

В результате получим карту OpenStreet c возможностью добавлять маркеры: Вот такие интересные примеры работы с картами, думаю кому то будут полезны. Исходники на VS2010 MVC3. Источник: http://habrahabr.ru/post/131249/ Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Read more
1 20 21 22 23 24 36