我使用Zebra GT800标签打印机,标签角色尺寸为2.5'*1.75'.我正在努力使用ZPL命令将其调整到内部标签.我尝试使用粗体文本中的几个值,我在ZPL的用户指南中读到,但没有成功.
当使用值BY2时,它发生的是条形码超出标签的边缘.当我使用值BY1时,它太小而无法读取.下面是使用的ZPL命令.
^XA^FO150,100^**BY1**^BC,100,Y,N,N^FD00V11636000032562050^FS^XZ
^XA^FO150,100^**BY2**^BC,100,Y,N,N^FD00V11636000032562050^FS^XZ
Run Code Online (Sandbox Code Playgroud) printer-control-language thermal-printer zpl-ii zpl zebra-printers
我正在开发一个需要直接打印到ESC/POS打印机的应用程序.打印很好,但是当向打印机发出命令时,它们只是打印!! 我正在尝试转换一些c#代码,我尝试发送的命令是十六进制字符串,如下所示:
public static String PRINTLOGOCOMPANY = "\x1c\x70\x01\x30";
Run Code Online (Sandbox Code Playgroud)
当然我知道这里有非法的转义字符所以我把它改成了:
"\\x1c\\x70\\x01\\x30"
Run Code Online (Sandbox Code Playgroud)
然后我转换为一个字节数组并尝试通过dataoutput流发送它,如下所示:
String WIDTH_1 ="\\x1d\\x57\\x120\\x01";
Log.i("Width String: ", WIDTH_1);
final byte [] width = WIDTH_1.getBytes();
final int portNo = xxxx;
final String ipAddress = "xxx.xxx.x.xxx";
Thread thread = new Thread() {
@Override
public void run() {
try {
Socket sock = new Socket(ipAddress, portNo);
DataOutputStream dOut = new DataOutputStream(sock.getOutputStream());
dOut.writeInt(width.length);
dOut.write(width);
dOut.close();
sock.close();
} catch (UnknownHostException e) {
e.printStackTrace();
Log.i("Unknown Host Exception Error: ", String.valueOf(e));
} catch (IOException e) {
e.printStackTrace(); …Run Code Online (Sandbox Code Playgroud) 在我将 mSwipe(Card Swiper) 与我的 Android 应用程序集成之前,EPSON 网络打印机工作得非常完美。
集成后现在mSwipe工作正常,但一切都EPSON崩溃了。
libepos2.so里面有src/main/jniLibs/armeabi/libepos2.so但是还是说找不到。
log以下:
FATAL EXCEPTION: main
Process: com.intuition.dine.ivepos, PID: 10908
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.intuition.dine.ivepos-1/base.apk"],nativeLibraryDirectories=[/data/app/com.intuition.dine.ivepos-1/lib/arm, /data/app/com.intuition.dine.ivepos-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] couldn't find "libepos2.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1567)
at com.epson.epos2.discovery.Discovery.<clinit>(Discovery.java:20)
at com.epson.epos2.discovery.Discovery.start(Discovery.java)
at com.intuition.dine.ivepos.SearchIPActivity.onCreate(SearchIPActivity.java:191)
at android.app.Activity.performCreate(Activity.java:6955)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
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 我有一台爱普生热敏打印机,型号为TM-T20,我正在为客户设置.
我们的网络服务器是一个Linux服务器,客户端机器将是Windows机器.
有没有可能用PHP,直接控制连接到客户端计算机的热敏打印机?
我查看了javascripts window.print(),但这不是我想要的,如果可能的话我想绕过打印对话框.
谢谢,托尼
我目前正在为客户端的PHP Web应用程序添加功能.他们需要能够直接从php打印一些原始数据到票证/热敏打印机,这将从自助服务亭在互联网浏览器上运行.
数据需要打印在内置票务打印机的本地信息亭上.
从我的初步研究中我了解到我必须使用javascript执行此任务以进行任何客户端操作,并想知道是否有人知道任何方法或示例函数将允许将字符串打印到指定的打印机/ com端口,这将绕过打印机对话框?
在此先感谢您的帮助
亚历克斯
我有一台合作伙伴RP-300收据打印机,带有现金抽屉,用于实验目的.它通过LPT1连接到PC.
我想通过java应用程序或批处理文件打开现金抽屉.
有任何想法吗?
编辑我发现打开抽屉的命令是ESC p,十六进制值\ x1b\x70\x00,
但是如何使用cmd将该命令发送到打印机?我尝试将后者放入文本文件,然后使用copy\b文件名lpt1,但它只是在打印机上打印文本文件的内容.
我正在尝试为58mm POS热敏打印机编写正确的ESC/POS命令.我试图将这些命令输入为ASCII文本并将其转换为HEX,但在这两种情况下,打印机只打印此代码,而不是收据输出.代码有问题,找不到工作代码的例子(不是命令).
ESC @
ESC a SOH
ESC ! NUL
ESC t 25 (select character code table)
ESC a 1.49 (centering text)
ESC E 1
Bold text
ESC E 0
Text line 1
Text line 2
Text line 3
ESC a 0
Date/Time: January 14, 2002 15:00
ESC d &H03
ESC a 0
ESC! 1
TM-U210B $20.00
&H0A
Item 1 $20.00
&H0A
Item 2 $10.00
&H0A
&H0A
ESC ! D
TOTAL $30.00
LF
ESC! NUL
------------------------------
LF
PAID $30.00
LF …Run Code Online (Sandbox Code Playgroud) 我已经在我的linux机器上配置了热敏打印机(ESC/POS)并使用终端命令(作为root)我可以打印它:
echo "Hello!" > /dev/usb/lp0
Run Code Online (Sandbox Code Playgroud)
但是,在golang中执行相同的过程没有任何反应:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("Hello Would!")
f, err := os.Open("/dev/usb/lp0")
if err != nil {
panic(err)
}
defer f.Close()
f.Write([]byte("Hello world!"))
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一台需要通过 WiFi 连接到我的 Android 设备的热敏打印机。我需要在触发按钮时自动打印它(没有打印对话框)
目前,我使用的是 Ionic 4,但我找不到任何支持 ESC/POS 语言的库。我可以使用任何图书馆?
注意:以下解决方案适用于 Ionic 4 和 5。
thermal-printer ×10
java ×4
printing ×4
android ×2
epson ×2
escpos ×2
linux ×2
php ×2
batch-file ×1
fatal-error ×1
go ×1
hex ×1
ionic4 ×1
ionic5 ×1
javascript ×1
windows ×1
zpl ×1
zpl-ii ×1