|
-
-
こちら の製品情報で紹介しています [ インテリジェントモデル ] 以外の TM プリンター(Ethernet / 無線 LAN インターフェイスモデル)は、TCP 9100 ポートによるダイレクト印刷をサポートしています。
アプリケーションまたはデバイスから、プリンターの TCP 9100 ポートへ直接データを送信することで制御できます。
送信するデータは、 こちら の ESC/POS コマンドが使用できます。
詳細につきましては、各インターフェイスの詳細取扱説明書をご参照ください。
詳細取扱説明書はこちらからダウンロード可能です。
Ethernet / 無線 LAN インターフェイスが受け付ける LPR / Port 9100 の接続要求数は次のとおりです。
- Ethernetインターフェイス:UB-E01/02/02Aの場合は最大3つまで、UB-E03の場合は最大6つまで
- 無線LANインターフェイス:UB-R02の場合は最大2つまで、UB-R03/03Aの場合は最大6つまで、UB-R04の場合は最大2つまで
ただし、実際にTMプリンターに対して印刷可能な接続は、最初に接続を受け付けた1つのみで、それ以外の接続要求は印刷中の接続がクローズされるまで待機状態となります。
また、ホストからデータが5分間送られてこない場合は、接続はクローズされます。
WindowsからEthernetを介して印刷するプログラム例(C言語)
/* TCP9100 programming sample for Win32
* HOW TO BUILD
* cl tcp9100.c wsock32.lib
*/
#include <stdio.h>
#include <winsock.h>
int main(int argc, char* argv[])
{
WSADATA data;
SOCKET sock;
struct sockaddr_in addr;
if (argc != 2) {
printf("usage: tcp9100 IP_ADDRESS\n");
exit(1);
}
/* Initialize windows sockets */
WSAStartup(0x0101, &data);
/* Create sockets */
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
fprintf(stderr, "Error socket(): %d\n", WSAGetLastError());
exit(1);
}
/* initialize the parameter */
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(9100);
addr.sin_addr.s_addr = inet_addr(argv[1]);
/* connect */
if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
fprintf(stderr, "Error connect(): %d\n", WSAGetLastError());
exit(1);
}
printf("connected\n");
/* send data */
send(sock, "\x1b@SEIKO EPSON\x0a", 15, 0);
/* close socket */
closesocket(sock);
return 0;
}
|
LinuxからEthernetを介して印刷するプログラム例(C言語)
/* TCP9100 programming sample for linux
* HOW TO BUILD
* cc tcp9100.c
*/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
int main(int argc, char* argv[])
{
int sockfd;
struct sockaddr_in addr;
if (argc != 2) {
printf("usage: tcp9100 IP_ADDRESS\n");
exit(1);
}
/* create socket */
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd < 0) {
perror("socket()");
exit(1);
}
/* initialize the parameter */
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(9100);
addr.sin_addr.s_addr = inet_addr(argv[1]);
/* connect */
if (connect(sockfd, (struct sockaddr*)&addr, sizeof(addr)) < 0) {
perror("connect()");
}
printf("connected\n");
/* send data */
send(sockfd, "SEIKO EPSON\x0a", 13, 0);
/* close socket */
close(sockfd);
return 0;
}
|
モバイルプリンター |
TM-P20,TM-P60II |
TMシリーズ |
TM-L90 オートカッターモデル,TM-L90 ピーラーモデル,TM-T70,TM-T70II,TM-T88II,TM-T88III,TM-T88IV,TM-T88V,TM-T90,TM-T90 KP,TM-T90II |
|