Я получаю из БД данные, содержащие уникальные поля. Мне нужно создать штрих-код для выбранного элемента по уникальному полю в формате code-128 и сразу же вывести диалоговое окна сохранить/распечатать. Вопрос в следующем, как в C# программно можно создать картинку штрих-код в формате code-128 и предложить его сохранить как картинку или вывести на печать? Какие NuGet-пакеты есть для этой цели или же можно обойтись без их использования?
Использовал 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);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Решил для себя разобраться с MVVM, не совсем уверен правильно ли я организовал связь между Model и ViewModelХотел бы услышать ваше мнение по поводу...
Такая проблема: хочу сделать гиперссылку, которая не будет открывать страницу в интернете, а просто запустит методКак Button запускает метод...