crystal 报告软连字符错误的解决方法
Workaround for crystal reports soft hyphen bug
我是 crystal 2013 年报告的新手,并且 运行 遇到软连字符错误(如 SAP Thread 中更详细的描述)。简而言之:软连字符不会出现在生成的 crystal 报告文件中(但我需要这个确切的字符来验证条形码,但它只显示在生成的 pdf 中)。
因为我需要 crystal 报告文件而不是 pdf,所以我正在寻找解决方法。我也尝试了上面 link 中提到的错误修复,但我必须在许多系统上进行此修复,所以它还不是最好的解决方案。
我考虑了以下解决方法:如果要创建 crystal 报告文件,程序应生成条形码文本的图像,并在适当的公式中用生成的图像替换条形码文本场地。
我想知道的是:
- 这个解决方法是否可行?
- 如果没有:还有其他更好的解决方法吗?
- 如果不是:您知道有效的错误修正吗?
编辑:
自发布问题以来,我尝试了一些方法:
我想,也许是机器相关的问题。我正在开发 Windows 8.1 Enterprise,它是德语版本。所以我试图在英语 windows 8.1 OS 上重新创建这个确切的问题。不幸的是,我得到了同样错误的条形码。所以这似乎不是机器相关的问题。
我使用 C# 以编程方式生成了一个带有 "Code128" 字体的字符串,并在我的机器上将其保存为 .png。它还将软连字符呈现为另一个字符 (unicode 172)。
问题是,barcode128 公式生成了一个校验和符号,对于确切的字符串,我在验证时遇到了问题,它生成了 173 个字符。所以我不能直接影响软连字符的使用,因为我需要它来进行验证。
终于找到答案了。我的条形码字体有问题 "Code128.ttf".
我对字体不是很了解,但经过一段时间后,我决定更改条形码字符的ascii码。所以我在字体编辑软件中打开字体并看到,实际上没有为软连字符存放的符号。这有点棘手,因为 windows 字符 table 和其他程序正在显示软连字符的替代字符。在我的例子中,它是日元字符(ascii 代码 165)。
要么使用其他条码128字体,要么必须使用字体编辑软件才能得到实际的字符布局。
我是 crystal 2013 年报告的新手,并且 运行 遇到软连字符错误(如 SAP Thread 中更详细的描述)。简而言之:软连字符不会出现在生成的 crystal 报告文件中(但我需要这个确切的字符来验证条形码,但它只显示在生成的 pdf 中)。
因为我需要 crystal 报告文件而不是 pdf,所以我正在寻找解决方法。我也尝试了上面 link 中提到的错误修复,但我必须在许多系统上进行此修复,所以它还不是最好的解决方案。
我考虑了以下解决方法:如果要创建 crystal 报告文件,程序应生成条形码文本的图像,并在适当的公式中用生成的图像替换条形码文本场地。
我想知道的是:
- 这个解决方法是否可行?
- 如果没有:还有其他更好的解决方法吗?
- 如果不是:您知道有效的错误修正吗?
编辑:
自发布问题以来,我尝试了一些方法:
我想,也许是机器相关的问题。我正在开发 Windows 8.1 Enterprise,它是德语版本。所以我试图在英语 windows 8.1 OS 上重新创建这个确切的问题。不幸的是,我得到了同样错误的条形码。所以这似乎不是机器相关的问题。
我使用 C# 以编程方式生成了一个带有 "Code128" 字体的字符串,并在我的机器上将其保存为 .png。它还将软连字符呈现为另一个字符 (unicode 172)。
问题是,barcode128 公式生成了一个校验和符号,对于确切的字符串,我在验证时遇到了问题,它生成了 173 个字符。所以我不能直接影响软连字符的使用,因为我需要它来进行验证。
终于找到答案了。我的条形码字体有问题 "Code128.ttf".
我对字体不是很了解,但经过一段时间后,我决定更改条形码字符的ascii码。所以我在字体编辑软件中打开字体并看到,实际上没有为软连字符存放的符号。这有点棘手,因为 windows 字符 table 和其他程序正在显示软连字符的替代字符。在我的例子中,它是日元字符(ascii 代码 165)。
要么使用其他条码128字体,要么必须使用字体编辑软件才能得到实际的字符布局。