之前使用excel内的vba代码可以打印中文,后来因为需求变了,不能依赖excel,所以直接由程序控制打印,使用的是vb.net(VS2010)写的,代码如下图,打印中文都是乱码,但是英文和数字正常,问了厂家技术,说要加一个语句转换字符集,然后折腾了3天还是不行,截图如下,求解决!
2024-01-22上午更新:
根据大家的的回答,我全部试了,最后发现问题所在应该在下列代码上:
Private Declare Function PTK_SetCharSets Lib "CDFPSK.DLL" (ByVal BitValue As Integer, ByVal CharSets As Byte, ByVal CountryCode As String) As Integer
PTK_SetCharSets(8, U, "001")
其中的 ByVal CharSets As Byte 到底是定义Char 还是 Byte ,反正哪个都打印不了中文,
根据厂家说明书里转换字符集的语句 PTK_SetCharSets(8, U, "001"),我把U,001,U,850,G,001,G,850都试了,都是乱码,
最后根据大家的建议使用语句转换字符串为GB或UTF8,都无法正常打印中文,求解决远程也可以。需要远程的私信我!