固定宽高条码PDF417格式

Fixed width and height Barcode PDF417 Format

如何设置固定宽度(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();
        }
    }

输出图像:

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

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

有一个 属性 可以设置相对大小...尝试创建一个新的 dimention() 并设置 4 个参数 ... dimention(min columns, max columns, min rows, max rows) 这设置条码 upc417

的最小和最大尺寸