ZXing.dll - zxing.net for .net 2.0 - 文件版本0.14.0.1
我的应用程序不允许自动调整大小(行/列计算)PDF417代码。因此,我使用所选设置来确定应允许的字符数,然后限制用户输入。
ZXing正在投掷"无法在列中放置消息" PDF417Writer.encode调用中的异常,给定的参数应该是有效的,基于我的计算。
示例#1:
ErrorCorrection=Level0 (2 error codewords)
Compaction=Numeric (2.9 characters per codeword)
Rows=3, Columns=2 (6 codewords)
Calculated Capacity = 6 - 2 - 1 = 3 * 2.9 = 8.7 (8 characters)
Text = "123456" (6 numeric characters)
使用这些设置,ZXing可以编码94个字符,但在95或更多时失败。
示例#2:
IDictionary<EncodeHintType, object> hints = new Dictionary<EncodeHintType, object>();
hints.Add(EncodeHintType.MARGIN, 0);
hints.Add(EncodeHintType.ERROR_CORRECTION, PDF417ErrorCorrectionLevel.L0);
hints.Add(EncodeHintType.PDF417_COMPACT, false);
hints.Add(EncodeHintType.PDF417_COMPACTION, Compaction.NUMERIC);
hints.Add(EncodeHintType.PDF417_DIMENSIONS, new Dimensions(2, 2, 3, 3));
new PDF417Writer().encode("123456", BarcodeFormat.PDF_417, 0, 0, hints);
在这种情况下,ZXing最多可以编码5个字符,但在6个或更多字符时会失败。
这是一个重复实例#2的小测试程序(C#):
http://www.currentdirections.com/facts/sizing-applications-for-2d-symbols.html
以下资源解释了示例#1:
{{1}}
问题: