标签: thermal-printer

如何从Android中的热敏打印机打印?

我正在开发一款具有内置行式打印机的Android设备应用程序.我必须与此打印机进行交互,并使用它在收货时打印详细信息,然后自动切割收据.我在其中看到了一些ESC命令,但我不知道如何执行这些ESC命令.

关于卡西欧设备打印机,我有三个主要问题:

1.我使用了内置打印机的打印代码,但打印后切刀未激活

BuildinEx840 ex840 = new BuildinEx840();
int response = ex840.open();
System.out.println("ex840 open:" + response);

byte[] set = {
    'N', 'A', 'R', 'E', 'S', 'H', 'S', 'H', 'A', 'R', 'M', 'A', (byte) 0x0d, (byte) 0x0a
};

try {        

    ex840.write(set);   

} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

try {

    response = ex840.getEndStatus();
    System.out.println("getEndStatus:" + response);
    response = ex840.initCutter();
    ex840.close();    
    System.out.println("initCutter:" + response);

} catch (Exception e) {         
    e.printStackTrace();         
}
Run Code Online (Sandbox Code Playgroud)

2.我不知道如何将ESC命令发送到android中的打印机

有如下命令的数量

ESC FF DataPrint,
[code] …
Run Code Online (Sandbox Code Playgroud)

java android escaping thermal-printer point-of-sale

33
推荐指数
1
解决办法
2万
查看次数

如何使用蓝牙热敏打印机打印发票收据

我必须使用热敏打印机打印发票收据.我用Zjiang Thermal打印机打印收据.他们还提供手动和演示项目.在演示项目中,他们使用libray"btsdk.jar"来实现连接和打印.

我已成功建立打印机和Android设备之间的连接.但是没有文本对齐(中心,左,右)和单元格宽度,高度的准则.

试过了.它只通过更改格式2变量来更改文本高度.

我如何通过蓝牙打印机打印发票.

还请解释这一节 -

 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;
Run Code Online (Sandbox Code Playgroud)

cmd 2 - 用于更改字体高度使用cmd [0]和cmd 1

代码将打印消息发送到蓝牙打印机在演示项目中

 String msg = "";
 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;
 mService.write(cmd);           
 mService.sendMessage("Congratulations!\n", "GBK"); 
 cmd[2] &= 0xEF;
 mService.write(cmd);          
 msg = "  You have sucessfully created communications between your device and our bluetooth printer.\n\n"
      +" …
Run Code Online (Sandbox Code Playgroud)

android thermal-printer android-bluetooth

15
推荐指数
1
解决办法
1万
查看次数

通过POS打印机和图像打印向外国人开帐单

我正在尝试创建一个原型来将文本文件的位图数据打印到支持LAN的epson pos打印机TM-T88V.

虽然我没有问题发送文本和文本格式说明,我不明白,我必须做什么,让我的打印机打印Arecibo消息的数据.

前几行:

00000010101010000000000
00101000001010000000100
10001000100010010110010
10101010101010100100100
00000000000000000000000
00000000000011000000000
00000000001101000000000
00000000001101000000000
00000000010101000000000
00000000011111000000000
00000000000000000000000
11000011100011000011000
10000000000000110010000
11010001100011000011010
11111011111011111011111
00000000000000000000000
00010000000000000000010
00000000000000000000000
00001000000000000000001
Run Code Online (Sandbox Code Playgroud)

该消息有73行和23列,产生1679个图像元素.每个元素由1表示黑色或0表示为白色,应打印为8x8(或16x16)点的正方形.结果会导致

Arecibo消息http://www.satsig.net/seti/message-to-gliese-581.gif

从打印机的规格:

在此输入图像描述

虽然 - 正如我所说 - 连接和发送到打印机是没有问题的,我只是不明白,这个指令想告诉我什么.在Arecibo消息的情况下会是什么

我必须向打印机发送什么号码?我需要发送每个点吗?什么nL, nH specify the number of dots of the image data in the horizontal direction as (nL + nH × 256).意思?

这是我用于原型设计的简单Python程序:

# -*- coding: utf-8 -*-
import struct
import socket

def sendInstructions(mySocket,l):
    for x in l:
        mySocket.send(struct.pack('h', *[x]),1)


def emphasizeOn(mySocket):
    sendInstructions(mySocket,[27,33,48])


def emphasizeOff(mySocket):
    sendInstructions(mySocket,[27,33,0]) …
Run Code Online (Sandbox Code Playgroud)

python thermal-printer epson point-of-sale

14
推荐指数
1
解决办法
2597
查看次数

如何将数据发送到蓝牙打印机vai android app?

我正在开发一个应用程序,它将通过蓝牙将数据发送到打印机进行打印(热敏打印机用于收据).我已经按照此链接中的代码进行操作.

http://pastie.org/6203514和此链接也是http://pastie.org/6203516

当我将数据发送到打印机时,我能够看到设备及其MAC地址及其名称(打印机上的指示灯停止闪烁并变为标准,即打印机与我的Android手机连接)但是当我发送时数据不打印,也没有给出任何错误.我搜索了很多,我找到了很多代码并尝试了所有代码但无法打印.

请任何人帮助我离开这里.我听说Intent可以很容易地完成,但无法通过Intents获得精确的解决方案.

任何帮助将不胜感激提前感谢

Ganesh神

android bluetooth thermal-printer

13
推荐指数
1
解决办法
2万
查看次数

使用java中的ESC/POS在热点打印机中打印位图整页宽度

我正在尝试在支持ESC命令的热敏打印机中打印576像素宽的图像,问题是打印图像位的命令"ESC*"只允许我打印255像素宽的图像(如果我使用的是576)像素图像一些部分被打印,其余部分是随机符号),在documentacion中说这些命令最多接受255个字节,如下所示:

ESC * m nL nH d1Ödk
Name Specify bit image mode 
Code ASCII ESC * m nL nHd1...dk 
 Hex. 1B 2A m nL nHd1...dk 
 Decimal 27 42 m nL nHd1...dk 
Defined Region m = 0,1,32,33 
 0 ? nL ? 255 
 0 ? nH ? 3 
 0 ? d ? 255 
Run Code Online (Sandbox Code Playgroud)

所以我不知道如何打印一个最大的打印机页面宽度(576像素)的图像,我有这个代码打印图像:

public class ESCPOSApi {

    private final byte[] INITIALIZE_PRINTER = new byte[]{0x1B,0x40};

    private final byte[] PRINT_AND_FEED_PAPER = new byte[]{0x0A};

    private final byte[] SELECT_BIT_IMAGE_MODE = new byte[]{(byte)0x1B, (byte)0x2A};
    private final …
Run Code Online (Sandbox Code Playgroud)

java printing image thermal-printer

13
推荐指数
1
解决办法
1万
查看次数

将位图转换为单色

我试图将图像保存为单色(黑白,1位深度),但我现在失去了如何做到这一点.

我开始用一个PNG,并转换为位图打印(这是一个热敏打印机,仅支持黑色反正 - 加上它的地狱大型图像慢,如果我尝试将它们发送的彩色/灰度).

到目前为止,我的代码很简单,无法将其转换为位图,但它保留了原始颜色深度.

Image image = Image.FromFile("C:\\test.png");

byte[] bitmapFileData = null;
int bitsPerPixel = 1;
int bitmapDataLength;

using (MemoryStream str = new MemoryStream())
{
    image.Save(str, ImageFormat.Bmp);
    bitmapFileData = str.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

c# image bitmap thermal-printer

10
推荐指数
1
解决办法
2万
查看次数

如何通过网页(.aspx)通过收据打印机打印收据?

在网页上添加了IFrame,并将源文件作为文本文件添加.它在Common打印机上工作正常.但是,无法通过Receipt打印机打印收据.它将作为空白纸张出现.

打印机名称:PR-85热敏打印机.点击以下链接查看打印机规格详情..

http://www.essae.com/popup_html/pr-85.html

有人有解决方案吗?

在此输入图像描述

javascript printing asp.net firefox thermal-printer

9
推荐指数
1
解决办法
3万
查看次数

云打印和热敏打印机

我正在使用Google Cloud Print在网络应用中生成打印生成的PDF文档.

一切都在我使用的所有打印机类型(HP,Zebra等)中正常工作,但大约2周前所有Zebra打印机(热敏打印机)都以纵向模式打印PDF文档(忽略打印机设置).

我需要什么?:Google Clout打印保留了我的打印机设置.

我的测试:我更改了打印机设置(文档方向:纵向/横向).我在发送到Google Cloud Print之前旋转了PDF文档.我发送了票务打印机/功能,但Google Cloud Print忽略了它.

我确定这是Google Update.

存在使用热敏打印机的Google云打印的其他人?

它有什么解决方案吗?

UPDATE1:

Google更新了一些文档https://developers.google.com/cloud-print/?hl=es-419&csw=1

这并没有解决我的问题,但我在java中发布了一个库,希望对其他人有用,也许会鼓励有人参与.

此库与Google Cloud Print API的版本1和版本2兼容

Github存储库https://github.com/fsistemas/GoogleCloudPrintApiClientJava

printing thermal-printer zebra-printers google-cloud-print

8
推荐指数
1
解决办法
7645
查看次数

使用热敏打印机Android打印条形码

我能够打印文本,但是当涉及条形码时,它始终不显示或仅显示数字参数

这是我的源代码

//barcode 128
                byte[] formats  = {(byte) 0x1d, (byte) 0x6b, (byte) 0x73,(byte) 0x0d};
                byte[] contents = content.getBytes();

                byte[] bytes    = new byte[formats.length + contents.length];

                System.arraycopy(formats, 0, bytes, 0, formats.length );
                System.arraycopy(contents, 0, bytes, formats.length, contents.length);


                usbCtrl.sendByte(bytes, dev);

                usbCtrl.sendByte(LineFeed(), dev);
Run Code Online (Sandbox Code Playgroud)

但结果条形码没有显示,我错过了什么

请帮我

编辑

我找到了ESC/POS代码:

GS km d1 ... dk NUL或GS kmn d1 ... dk

但仍然没有工作

printing android thermal-printer

8
推荐指数
1
解决办法
4543
查看次数

如何在 Linux 中向热敏打印机发送 ESC/POS 命令

我正在尝试在热敏打印机上发送 ESC/POS 命令。但是每当我发送它们时,热敏打印机都会将它们打印为文本,而不是将它们作为命令执行。我在 .prn 文件中编写这些命令,每当我执行 lp 命令来打印文件时,这些 .prn 文件也会被打印,但作为文本。

我尝试了以下方法在 .prn 文件中编写 ESC/POS 命令:

1) PRINT #1, CHR$(&H1D);"h";CHR$(80);
   PRINT #1, CHR$(&H1D);"k";CHR$(2);
   PRINT #1, "48508007";CHR$(0);
   PRINT #1, CHR$(&HA);
   PRINT #1, CHR$(&H1D);"k";CHR$(67);CHR$(12);
   PRINT #1, "48508007";

2) <ESC>(0x1B) <L>(0x4C)
   <GS>(0x1D) <k>(0x6B) 73 2 4 5 6 7 8 9 NUL
   <FF>(0x0c)

3) <ESC L>
   <GS k 73 2 4 5 6 7 8 9 NUL>
Run Code Online (Sandbox Code Playgroud)

4) "ESC L" "GS k 73 2 4 5 6 7 8 9 NUL" "FF" 我还尝试使用 C 程序发送 …

linux printing thermal-printer escpos

7
推荐指数
2
解决办法
2万
查看次数