0

我希望有人能帮忙。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”。

谢谢

约阿希姆

4

1 回答 1

0

好的,最终这里出现了两个问题:

1)条形码字体的制造商没有设计要打印的字体像我试图打印的那样小。我不是字体专家,所以我相信他们的话。但我并不完全相信我正在打印的打印机可以使用它的“演示”模式准确打印比这更小的条形码。

2) 我看到的“光环”效果实际上是 Windows 的“图片和传真查看器”,它试图让我的东西变得漂亮。当我尝试不同的软件时,条形图清晰明了。

于 2009-02-25T16:31:57.120 回答