固定宽度和高度条形码PDF417格式

时间:2017-09-03 10:54:58

标签: c# zxing zxing.net

如何设置固定宽度(500)和高度(300)条形码大小? 我使用Zxing库生成条形码图像。

private byte[] GenerateBarCodeZXing(string data)
    {
        var writer = new BarcodeWriter
        {
            Format = BarcodeFormat.PDF_417,
            Options = new EncodingOptions { Width = 500, Height = 300, Margin=0 } 
        };
        var imgBitmap = writer.Write(data);
        using (var stream = new MemoryStream())
        {
            imgBitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
            return stream.ToArray();
        }
    }

OutPut图片:

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您无法使用ZXing.Net设置固定的宽度和高度。该库仅支持不使用抗锯齿进行缩放。结果大小首先取决于应编码的内容。更多内容意味着更多的行和列。每列和每行的单个黑色(和白色)条具有指定的大小。在大多数情况下,所有条形的总和不等于所需的大小。如果需要更多空间,则生成的PDF417代码大于请求的大小。如果少于周围有更多的空白区域。渲染器仅支持整数缩放因子。

最好的方法是,请求1像素宽和1像素高的大小。条形码编写器生成最小所需大小的条形码位图。之后使用您喜欢的图像处理库调整位图大小。

答案 1 :(得分:0)

有一个属性可以设置相对大小...尝试创建一个新的维度()并设置4个参数 ...尺寸(最小列数,最大列数,最小行数,最大行数)设置条形码的最小和最大尺寸upc417