我尝试使用所有CodePageType和CharSet来打印阿拉伯语,日语等语言,但是它在收据上打印一些符号。对于英语,它可以按要求的格式正常工作。我还遵循了官方pdf和诸如appendInternationalCode()之类的方法,但是没有用。
Star Micronics(SM230I)打印机
StarPRNTSDK Android SDK
Android API 26至29
尝试过UTF-8,Shift-JIS,JIS,ASCII等
尝试使用CodePageType
//Some method calling......
Charset encoding;
StringBuffer stringBuffer=new StringBuffer();
ArrayList<CodePageType> codeList=new ArrayList<>();
codeList.add(CodePageType.CP437);
codeList.add(CodePageType.CP737);
codeList.add(CodePageType.CP772);
codeList.add(CodePageType.CP774);
codeList.add(CodePageType.CP851);
codeList.add(CodePageType.CP852);
codeList.add(CodePageType.CP855);
codeList.add(CodePageType.CP857);
codeList.add(CodePageType.CP858);
codeList.add(CodePageType.CP860);
codeList.add(CodePageType.CP861);
codeList.add(CodePageType.CP862);
codeList.add(CodePageType.CP863);
codeList.add(CodePageType.CP864);
codeList.add(CodePageType.CP865);
codeList.add(CodePageType.CP866);
codeList.add(CodePageType.CP869);
codeList.add(CodePageType.CP874);
codeList.add(CodePageType.CP928);
codeList.add(CodePageType.CP932);
codeList.add(CodePageType.CP998);
codeList.add(CodePageType.CP999);
codeList.add(CodePageType.CP1001);
codeList.add(CodePageType.CP1250);
codeList.add(CodePageType.CP1251);
codeList.add(CodePageType.CP1252);
codeList.add(CodePageType.CP2001);
codeList.add(CodePageType.CP3001);
codeList.add(CodePageType.CP3002);
codeList.add(CodePageType.CP3011);
codeList.add(CodePageType.CP3012);
codeList.add(CodePageType.CP3021);
codeList.add(CodePageType.CP3041);
codeList.add(CodePageType.CP3840);
codeList.add(CodePageType.CP3841);
codeList.add(CodePageType.CP3843);
codeList.add(CodePageType.CP3844);
codeList.add(CodePageType.CP3845);
codeList.add(CodePageType.CP3846);
codeList.add(CodePageType.CP3847);
codeList.add(CodePageType.CP3848);
codeList.add(CodePageType.UTF8);
//encoding = Charset.forName("JIS");
encoding=Charset.forName("Shift-JIS");
//encoding = Charset.forName("UTF-8");
//encoding = Charset.forName("ASCII");
for(CodePageType pageType:codeList)
{
builder.appendCodePage(pageType);
stringBuffer.append("عنوان"+" = "+encoding+" = "+pageType);
stringBuffer.append("\n");
}
builder.append(stringBuffer.toString().getBytes(encoding));
//print receipt ....
我需要使用阿拉伯语,日语,中文,荷兰语等多种语言进行打印,因为它现在仅适用于英语和所有其他打印符号。TIA
答案 0 :(得分:2)
IDisplayCommandBuilder builder1 = StarIoExt.createDisplayCommandBuilder(StarIoExt.DisplayModel.SCD222);
builder1.appendCodePage(IDisplayCommandBuilder.CodePageType.Japanese);
builder1.append("eewrdew こんにちは".getBytes(Charset.forName("Shift-JIS")));
builder1.appendCodePage(IDisplayCommandBuilder.CodePageType.Japanese);
builder1.append("eewrdew こんにちは".getBytes(Charset.forName("JIS")));
builder1.getPassThroughCommands();
我什至尝试过,但是直到现在都没有找到解决方案。