Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在热敏打印机上打印Unicode(孟加拉语字体)?_Java_Android_Printing_Thermal Printer - Fatal编程技术网

Java 如何在热敏打印机上打印Unicode(孟加拉语字体)?

Java 如何在热敏打印机上打印Unicode(孟加拉语字体)?,java,android,printing,thermal-printer,Java,Android,Printing,Thermal Printer,我想打印孟加拉语文本,如“আপনি কি ডাটা সংরক্ষন করতে চান" 来自我的android应用程序。但我每次都得到错误的结果。以下是我的输出: 我的代码在这里: String memo = "আপনি কি ডাটা সংরক্ষন করতে চান" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n"; b

我想打印
孟加拉语
文本,如“আপনি কি ডাটা সংরক্ষন করতে চান" 来自我的android应用程序。但我每次都得到错误的结果。以下是我的输出:

我的代码在这里:

   String memo = "আপনি কি ডাটা সংরক্ষন করতে চান" + "\n" +
            "\n" +
            "\n" +
            "\n" +
            "\n" +
            "\n";

    byte[] buffer = memo.getBytes(Charset.forName("UTF-8"));


    try {
        Toast.makeText(getApplicationContext(), "Starting...", Toast.LENGTH_LONG).show();

        Thread.sleep(1000);
        byte[] printformat = {27, 33, 01};
        mmOutputStream.write(printformat);
        mmOutputStream.write(buffer);
        mmOutputStream.write(0x0B);
        mmOutputStream.write(0x0B);
        mmOutputStream.write(0x0B);
        mmOutputStream.flush();

        mmOutputStream.close();
        mmSocket.close();
        Toast.makeText(getApplicationContext(), "Completed", Toast.LENGTH_LONG).show();
        mmOutputStream.close();
        mmSocket.close();
    } catch (Exception ex) {
        Toast.makeText(getApplicationContext(),
                "Excep IntentPrint", Toast.LENGTH_SHORT).show();
  }

首先,请检查打印机是否支持孟加拉语字体。如果没有,则可以使用其他方式进行打印。您需要捕获将孟加拉语文本作为图像(位图)的布局然后使用打印机位图打印api。对于阿拉伯文本,我也遇到了同样的问题。我使用此技术解决了此问题。谢谢。

首先请检查打印机是否支持孟加拉语字体。如果没有,则可以使用另一种打印方式。您需要捕获将孟加拉语文本作为图像(位图)的布局然后使用打印机位图打印api。我对阿拉伯语文本也有同样的问题。我使用这种技术解决了这个问题。谢谢。

这假设打印机可以处理UTF-8的多字节序列。 同时写入特定于打印机的控制字节。我认为打印机只有有限的特定ASCII(8位)字符集

所以试试看:

byte[] buffer = new byte[128];
for (int i = 0; i < 128; ++i) {
    buffer[i] = (byte)(-128 + i);
}

这假设打印机可以处理UTF-8的多字节序列。 同时写入特定于打印机的控制字节。我认为打印机只有有限的特定ASCII(8位)字符集

所以试试看:

byte[] buffer = new byte[128];
for (int i = 0; i < 128; ++i) {
    buffer[i] = (byte)(-128 + i);
}

在打印机的数据表中进行检查

例如,我的打印机HOP-E200 58mm小型便携式热敏打印机数据表上显示


在打印机的数据表中检查它

例如,我的打印机HOP-E200 58mm小型便携式热敏打印机数据表上显示


插座的另一端是什么?打印机支持UTF-8编码吗?是的,打印机支持UTF-8编码。我们可以通过蓝牙从window machine打印孟加拉语文本。@Md.zakirhosain我需要你的帮助,你找到完美的解决方案了吗?@Nazmus Saadat是的,这取决于你的打印机。我为其他设备上的epson printer解决了这个问题插座末端?打印机支持UTF-8编码吗?是的,打印机支持UTF-8编码。我们可以通过蓝牙从window machine打印孟加拉语文本。@Md.ZakirHossain我需要你的帮助,你找到了完美的解决方案吗???@Nazmus Saadat是的,这取决于你的打印机。我为爱普生打印机解决了这个问题