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);
}
}
使用了 nuget 包BarcodeLib。它易于使用并以我需要的格式进行编码。使用iTextSharp库以及保存到 PDF 文件的使用示例: