Создание штрих-кода и его печать C#

132
05 мая 2019, 18:20

Я получаю из БД данные, содержащие уникальные поля. Мне нужно создать штрих-код для выбранного элемента по уникальному полю в формате code-128 и сразу же вывести диалоговое окна сохранить/распечатать. Вопрос в следующем, как в C# программно можно создать картинку штрих-код в формате code-128 и предложить его сохранить как картинку или вывести на печать? Какие NuGet-пакеты есть для этой цели или же можно обойтись без их использования?

Answer 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);
    }
}
READ ALSO
Критика кода. MVVM, WPF, C#

Критика кода. MVVM, WPF, C#

Решил для себя разобраться с MVVM, не совсем уверен правильно ли я организовал связь между Model и ViewModelХотел бы услышать ваше мнение по поводу...

140
Для чего нужны свойства?

Для чего нужны свойства?

Допустим есть это:

128
C# WPF: Hyperlink без NavigateUri

C# WPF: Hyperlink без NavigateUri

Такая проблема: хочу сделать гиперссылку, которая не будет открывать страницу в интернете, а просто запустит методКак Button запускает метод...

157