我希望有人能帮忙。TextRenderingHint.SingleBitPerPixel 在从 .net 打印条形码时显然没有关闭抗锯齿功能。
这是实际呈现条形码的代码片段:
graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;
graphics.DrawString(
barCodeText,
humanReadableFont,
Brushes.Black,
currentXPosition,
currentYPosition,
StringFormat.GenericTypographic);
为了在调试期间仔细检查输出,我通过“Microsoft Office Document Image Writer”打印机打印到 .tiff 格式的文件。放大 .tiff 时,抗锯齿清晰可见,为黑色条码条周围的灰色光环。
同样,当打印到实际打印机(HP Laser Jet 仿真模式下的 BOCA 票据打印机)时,条码渗色/显示比预期的更粗。
我知道条形码在语法上是正确的,因为在较大的点尺寸下它可以扫描。我也知道打印机能够打印至少与我要求的一样小的清晰条形码,因为在它的本机“FGL”模式下,它打印的清晰条形码甚至比我的还小。
我使用的字体是 Elfring Fonts Inc 的“Code 128AB”和“Code 128AB HR”。
谢谢
约阿希姆