【问题标题】:Barcode 128 space条码 128 空格
【发布时间】:2016-02-05 16:57:41
【问题描述】:

我正在 Visual Studio 的控制台应用程序中将一些字符串转换为barcode128 格式。

我的问题是"space" ( ): 我不能以任何形式转换它,我有用于 word 的barcode128 库,它不能转换空间,但他只是拆分了两个条形码,使它们无法阅读。

我阅读替换 ASCII 32 ( ) with ASCII 194 (┬) 但这个 ascii 不是按字转换的。如何将带空格的字符串转换为barcode128?

示例“PROP.LOG”。

谢谢大家

【问题讨论】:

  • 看看这个 BarCode Generator 网站generator.barcoding.com 它将把PROP. LOG 转换成条形码,看看他们是否有 API 也看看这个链接keepautomation.com/guide/csharp_barcode_generator.html
  • 没有“ASCII 194”这样的东西。 ASCII 只能达到 127。目前尚不清楚您指定的字符(我怀疑是 U+252C)是否真的是您想要的……或者说实话,Word 是从哪里出现的……

标签: c# barcode-printing


【解决方案1】:

空格字符是否需要特殊处理取决于您使用的实际字体。

但字体似乎错过了您期望的空间的工作代码点。虽然defined(模式为“11011001100”且权重为“212222”)但某些字体似乎不在同一个位置。您可能使用的字体在 32 处不包含适当的空格字符。

所以你必须找出空格字符在你的字体中的位置。

可以在here 找到一个在 32 处有的免费字体。

我查看了其他一些免费字体,发现它们在 223 处有空格字符。

控制代码也放错了位置。 Wikipedia 对此表示:

编码的 ASCII 字符取决于实际使用的条形码字体。 尤其是值 0 和值 95 及以上的 ASCII 字符可以是 在安装的字体中定义不同。

根据表中的代码编号,这可能包含也可能不包含空格字符..

以下是对我有用的常量:

    char FNC1 = (char)181;
    char FNC4 = (char)220;
    char StartA = (char)192;
    char StartB = (char)193;
    char StartC = (char)194;
    char Stop = (char)200;
    char ShiftAB = (char)252;
    char Space = (char)223;

更新当我发现各种字体提供了太多的混乱时,我决定开始绘制我最终需要自己的条形码。一点也不难,我可以按照标准表中设置的代码保持不变..

【讨论】:

  • 很高兴听到!我很好奇:你用的是什么字体?并使用了空间@223?
  • 一秒钟抱歉,它适用于某些条形码,但对于其他条形码无效..:( 我有一个“条形码”生成器,它将字符串转换为条形码字符串(它需要开始-停止-校验和)。但某些条码的开始-停止字符在您建议的字体中不存在..
  • 不管怎样,我尝试了另一种字体,他确实用 char 223 转换了空间。所以没关系,问题是开始。我想我现在解决了它,但是我使用了一种解决方法..我没有将字符串转换为条形码字符串,而是使用了 Nuget 包并将其直接转换为图像。您的答案仍然正确,因为这是我的错,因为我没有正确解释问题。谢谢,因为通过您的链接和提示,您向我指出了这个解决方案,并为我的英语不好:)
猜你喜欢
  • 2011-10-25
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
相关资源
最近更新 更多