В 1С есть штатный addin для отображения штрихкодов, однако при его использовании в придачу дается морока по его развертыванию на рабочих станциях. Чтобы несколько упростить использование написал простой web service (веб сервис) для работы с наиболее интересным типом штрихкода Code 128.
GetBarcode — преобразует строку в изображение с нужным разрешением.
/// <summary> /// Get barcode image by input string /// </summary> /// <param name="line">String to convert to the barcode</param> /// <param name="type">Type of the barcode</param> /// <param name="Width">Width of the resulting image</param> /// <param name="Height">Height of the resulting image</param> /// <param name="imgTypes">Type of the resulting image: PNG, TIFF, JPG etc.</param> /// <param name="ShowLabel">Either show or not label under the barcode.</param> /// <returns></returns> public byte[] GetBarcode(string line, BarcodeLib.TYPE type, int Width, int Height, BarcodeLib.SaveTypes imgTypes, bool ShowLabel)
StringToBarcode128 — трансформирует исходный текст в строку подготовленную для отображения с помощью шрифта Code 128.
/// <summary> /// Convert input string to Barcode Code 128 string. /// </summary> /// <param name="line"></param> /// <returns></returns> public string StringToBarcode128(string line)
BarcodeStringToImage — преобразование текста преобразованного функцией StringToBarcode128 в изображение «нарисованное» выбранным шрифтом, например, Code 128.
/// <summary> /// Convert barcode font to image /// </summary> /// <param name="line">String to show as barcode</param> /// <param name="FontSize"></param> /// <param name="BarcodeHeight"></param> /// <param name="Resolution">Resolution of the resulting image.</param> /// <param name="imgTypes"></param> /// <param name="BarcodeFontName">Barcode font name</param> /// <returns></returns> public byte[] BarcodeStringToImage(string line, int FontSize, int BarcodeHeight, int Resolution, BarcodeLib.SaveTypes imgTypes, string BarcodeFontName)
BarcodeFontIsInstalled — проверяет установлен ли на сервере на котором запускается web service шриф для оттображения штрихкода. Например, Code 128.
/// <summary> /// Check either font with specified name is installed on a destination system. /// </summary> /// <param name="fontName"></param> /// <returns></returns> public bool BarcodeFontIsInstalled(string fontName = "Code 128")
Архив с web сервисом, который нужно положить на IIS, при этом для приложения выбрать Application Pool .NET CLR 4.x.: BarcodeWebService