我正在使用ESC/P语言在Intermec PB51上打印图像.
在ESC V命令规范中,它说:
打印机收到此命令后,打印机将直接提供的二进制数据转储到打印头.使用此命令打印的图形必须是打印头的精确宽度(以位为单位).
printhead query命令(PH?)使用TD记录为的参数进行回复
TD:打印头上的总点数.
当我将打印头查询命令发送到我的Intermec PB51时,它会以0864总点数作为响应,但是当我在图像打印功能中使用864作为打印机宽度时,图像被搞砸了(因为我似乎也发送了)许多字节,之后打印机处于无效状态).
选择值832可以很好地打印图像.现在的问题是,那些额外的32位(4字节)来自哪里?
我正在尝试在热敏打印机上发送 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 程序发送 …
我搜索了一点 ESC/POS 打印机的仿真,但没有找到更多的东西,然后是像这样的数据解析器。
简而言之,我有 Linux,我的设备通过 UART/RS-232 端口连接到我的 PC。我需要一些软件,它将侦听特定的 COM 端口,并将发送到该端口的数据可视化(例如将其保存为 PDF)。
我正在编写一个Phonegap应用程序,它使用蓝牙将打印发送到热敏打印机
我正在使用phonegap-bluetooth-plugin并正常打印
但是当使用ESC命令时,它们正在打印文本.
我可以使用代码打印:
bluetooth.write(onSuccess, onFailure, "Hi Dani, How are You?");
Run Code Online (Sandbox Code Playgroud)
我不知道如何在这段代码中包含ESC命令...... 试图选择字符的大小
var data_print = "1D 21 02"+"Hi Dani, How are You?";
bluetooth.write(onSuccess, onFailure, data_print);
Run Code Online (Sandbox Code Playgroud)
在这段代码中插入ESC命令的正确方法是什么?任何反馈表示赞赏!Tks!
我有一台点阵打印机LX-300通过网络连接到我的电脑.如何使用Python将带有ESCP字符的原始字符串直接发送到我的打印机?
计算机通过另一台计算机连接到打印机.我需要发送原始字符串,因为LX-300图像打印结果模糊.
我有一个Android应用程序,我正在尝试打印一些包含非拉丁字符的文本.
我正在使用此代码向ESC t n打印机发送命令:
byte[] buf = new byte[]{0x1B, 0x74, (byte)2}; // 2 is the codetable for PC850: Multilingual
this.mBaseOutputStream.write(buf);
Run Code Online (Sandbox Code Playgroud)
然后,我尝试像这样打印我的代码:
this.mBaseOutputStream.write("????? ?îîîîîî?".getBytes("cp850"));
但我得到的所有非拉丁字符都是奇怪的符号.那么我做错了什么?
我正在 Android 中编写一个简单的应用程序,用于通过 ESC/POS 热敏打印机进行打印。我只是有个问题。该应用程序生成一个 QR 码(使用 zxing 库),将其转换为位图并将其发送到打印机。打印机打印它,但我无法将其居中。相反,使用文本我没有定位问题。
这是打印文本和 QR 的代码。
byte[] INIT = {27, 64};
byte[] FEED_LINE = {10};
byte[] SELECT_FONT_A = {27, 33, 0};
byte[] FONT_B = {0x1B, 0x4D, 0x01};
byte[] ALLINEA_SX = {0x1B, 0x61, 0x00};
byte[] ALLINEA_CT = {0x1B, 0x61, 0x01};
byte[] ALLINEA_DX = {0x1B, 0x61, 0x02};
byte[] GRASSETTO_ON = {0x1B, 0x47, 0x11};
byte[] GRASSETTO_OFF = {0x1B, 0x47, 0x00};
byte[] SET_6 = {0x1B, 0x52, 0x06};
byte[] CODICI = {0x1B, 0x74, 0x13};
byte[] EURO = {(byte) 0xD5}; …Run Code Online (Sandbox Code Playgroud) 我想用ESC POS命令ESC*打印位图徽标文件.以下是该命令的技术文档的链接.
https://reference.epson-biz.com/modules/ref_escpos/index.php?content_id=88
据我所知,打印机需要1s和0s形式的图像数据.因此,它打印一个点,出现1和空白,出现0.但我无法弄清楚如何在上述命令的帮助下发送多行位图像数据,因为该命令只接受水平方向的图像数据.请帮我解决这个问题.
我无法在二维码中打印超过 380 个字符。
遵循C#中的代码:
protected ASCIIEncoding m_encoding = new ASCIIEncoding();
string QRdata = @"35150909165024000175590000193130072726117830|20150924062259|50.00||hdMEPiER6rjZKyKA+4+voi1nncxsAGFbYsEEqnh04SbvUEI/haUF4GUBPxT6Q2Uhf9f8QYgxiwxWo3GxRrvj4WnNeTYgAqUAYmOANPItNkOw0CppmZ4R8i1ZOlnftVhksCM0zrl4RiKgoazbN44hUu2nQf0W/JLvFXzXu12JlcSThNtmyJ6m9WBsMc/sf9BE14HDoXMyKRIQYt5TkEjilHH9Ffa0saRyUIp+Fji89/Moq8YCCFC+qC44XGxsvNCeeHUNOc1LgPP0DbU1miwpVnrBlEl87RU8Iy0r8fN/fNhbcStkwfTEvhYvZz42nEKHrmGTpGZYkHuTFCNZPq7aCA==";
int store_len = QRdata.Length + 3;
byte store_pL = (byte)(store_len % 256);
byte store_pH = (byte)(store_len / 256);
string txt = m_encoding.GetString(new byte[] { 29, 40, 107, store_pL, store_pH, 49, 80, 48 }); //FUNCTION 180
txt += QRdata;
txt += m_encoding.GetString(new byte[] { 29, 40, 107, 3, 0, 49, 69, 48 });//FUNCTION 169
txt += m_encoding.GetString(new byte[] { 29, 40, 107, 3, 0, 49, 67, 5 …Run Code Online (Sandbox Code Playgroud) 我需要在热敏打印机(SAM4S ELLIX40)中打印此图像。
\n\n\n\n我一直在搜索和测试几个代码,但实际上没有任何效果,他们说“使用这个命令,你会看到一行”,我发送了它,但没有任何反应。
\n\n我尝试了手册中的命令:
\n\n我最常尝试的是ESC *,但我一直不明白如何设置nL和nH。
\n\nString text_to_print = "Hello world!";\nDocPrintJob dpj = selected_printjob.createPrintJob();\nInputStream stream = new ByteArrayInputStream((text_to_pring).getBytes());\nDocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;\nDoc doc = new SimpleDoc(stream, flavor, null);\ndpj.print(doc, null);\nRun Code Online (Sandbox Code Playgroud)\n 我只是使用 Nodejs 将 p-touch 模板代码发送到 QL-720NW。
我已经按照如何设置 p-touch template 的步骤进行了操作。
另外,我尝试使用tojocky/node-printer向打印机发送命令。
这是我的代码,
var rawData = new Buffer([
0x1B, 0x69, 0x61, 0x33, // Use p-touch template
0x5E, 0x49, 0x49, // Initialize p-touch template
0x5E, 0x54, 0x53, 0x30, 0x30, 0x31, // Choose template 1
0x5E, 0x46, 0x46 // Start printing
]);
printer.printDirect({
data: rawData
, printer:'Brother QL-720NW' // printer name, if missing then will print to default printer
, type: 'RAW' // type: RAW, TEXT, PDF, JPEG, .. depends …Run Code Online (Sandbox Code Playgroud) 我有一台需要通过 WiFi 连接到我的 Android 设备的热敏打印机。我需要在触发按钮时自动打印它(没有打印对话框)
目前,我使用的是 Ionic 4,但我找不到任何支持 ESC/POS 语言的库。我可以使用任何图书馆?
注意:以下解决方案适用于 Ionic 4 和 5。