#c_sharp #net #поиск_библиотек #штрихкод #barcode
Я получаю из БД данные, содержащие уникальные поля. Мне нужно создать штрих-код для выбранного элемента по уникальному полю в формате code-128 и сразу же вывести диалоговое окна сохранить/распечатать. Вопрос в следующем, как в C# программно можно создать картинку штрих-код в формате code-128 и предложить его сохранить как картинку или вывести на печать? Какие NuGet-пакеты есть для этой цели или же можно обойтись без их использования?
Ответы
Ответ 1
Использовал nuget пакет BarcodeLib. Он легок в использовании и кодирует в нужный мне формат. Пример использования вместе с сохранением в PDF файл с помощью библиотеки iTextSharp: private void OnSaveSelectedCells() { var barcode = new BarcodeLib.Barcode(); var saveFileDialog = new SaveFileDialog { FileName = "Barcodes", Filter = "PDF file (*.pdf)|*.pdf" }; if (saveFileDialog.ShowDialog() == true) { var document = new Document(); var fileStream = new FileStream(saveFileDialog.FileName, FileMode.Create, FileAccess.Write, FileShare.None); PdfWriter.GetInstance(document, fileStream); // Для отображения русских букв var baseFont = BaseFont.CreateFont(@"C:\Windows\Fonts\Arial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); var font = new iTextSharp.text.Font(baseFont, 14); document.Open(); foreach (var item in items) { var imageBarcode = barcode.Encode(BarcodeLib.TYPE.CODE128B, item.Barcode, Color.Black, Color.White, 290, 120); var image = Image.GetInstance(imageBarcode, ImageFormat.Jpeg); document.Add(new Paragraph(item.Description, font)); document.Add(image); } document.Close(); // Открытие созданного файла System.Diagnostics.Process.Start(saveFileDialog.FileName); } }
Комментариев нет:
Отправить комментарий