無料で始める

zplCloud Blog

Weblink と CLI プロキシと CloudToBrowserPrint: 実際に必要な接続はどれか

3 つの通信方式には、それぞれ別の役割があります。いずれも外向きの接続のみを使い、違いは誰が接続を保持し、何を変換できるかにあります。

1 分で読了 zplCloud Team

原理は同じ、仕組みは別

Weblink、CLI プロキシ、ローカルのブラウザー印刷という外向き専用の 3 つのプリンター接続の図

zplCloud からラベルを実際のプリンターに届ける方法は 3 つあります。これらは日常的に混同されており、選択を誤ると切り分けに 1 日を費やすことになります。

3 つに共通する性質が 1 つあります。接続は常に、ネットワークの内側から外側へ向かって確立されます。着信ポートも、ポート転送も、VPN も、インターネットに露出したプリンターも不要です。異なるのは、どのコンポーネント がその接続を保持するのか、そして印刷ジョブがプリンターに届くまでに何ができるのかです。

Cloud Connect / Weblink - プリンター側から接続する

Weblink は Zebra 自身の仕組みで、zplCloud から構成できます。ネットワーク内のリレーコンポーネントがプラットフォームへの外向き WebSocket を維持し、プリンターはフラッシュに書き込まれた 3 つの証明書ファイル (WEBLINK2_CA.NRD, WEBLINK2_CERT.NRD, WEBLINK2_KEY.NRD) を使って mTLS で認証します。

irm "https://zplcloud.com/weblink-deploy.ps1?hostname=printer01&apikey=sk_zplcloud_XXXX" | iex
curl -fsSL "https://zplcloud.com/weblink-deploy.sh?hostname=printer01&apikey=sk_zplcloud_XXXX" | bash

スクリプトはプリンターの証明書をダウンロードし、TCP 9100 (~DY) 経由でアップロードし、Weblink の URL と NTP 用の SGD 変数を設定して、プリンターをリセットします。ホスト名がネットワーク上で解決できない場合は &ip=10.0.0.5 を追加してください。証明書の選択には引き続きホスト名が使われ、IP は TCP の接続先としてのみ使われます。

適した場面: プリンターが常設の本番機で、デザイナー、Print View、バッチジョブ、Webhook、API といったプラットフォームのあらゆる場所から到達できる必要がある場合です。設置場所が固定された Link-OS プリンターでは、これが既定の選択になります。

必要条件: Link-OS 対応プリンター。GK420 など Link-OS 以前の機種では、Weblink はまったく利用できません。

zplCloud Proxy - 自分で動かすエージェント

プロキシは zplCloud CLI の一部です。LAN 内の任意のマシン (Windows、macOS、Linux、Raspberry Pi、またはコンテナー) で動作し、外向きの SignalR 接続 1 本でプリンターをワークスペースに登録します。

curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud proxy --agent "Warehouse Berlin" --service-install --api-key sk_zplcloud_XXXX

プリンターへは TCP 9100 または USB で到達します。ここが決定的な違いです。USB のみのデスクトッププリンターには、自分から接続するためのネットワークスタックがありません。そのため、クラウドに載せる唯一の方法がエージェントです。エージェントは プリンタープロファイル (濃度、速度、メディア、SGD 変数) の適用、生の ZPL の送信、.zpl/.prn ファイルのフォルダー監視も行い、データハブ向けに SQL Server、MongoDB、Kafka の接続を担うこともできます。

--service-install は、Linux と Raspberry Pi では systemd ユニット (zplcloud-agent.service, Restart=always) を、macOS では launchd ジョブを、Windows ではスケジュールされたタスクを作成します。

適した場面: 多数の機器を管理している、USB や旧型のプリンターがある、拠点をまたいで一貫したプロファイルが必要、あるいは同じエージェントにデータソースも担わせたい場合です。

CloudToBrowserPrint - Web ページ向けのローカルサービス

CloudToBrowserPrint は、作業者のマシン上で動くローカルの HTTP サービスです。

http://127.0.0.1:9100      (https://127.0.0.1:9101 - needed for Safari and any https page)

LAN 内の Web ページが、/hubs/print の SignalR ハブ経由も含めて直接やり取りします。プリンターの検出 (printers.json によるネットワークプリンター、USB、Bluetooth)、形式の変換、バーコードのデコード、生ジョブの送信を行います。経路にクラウドは含まれません。ページは zplCloud への往復なしで印刷できます。

irm https://zplcloud.com/install-cloudtobrowserprint-pshell | iex

このサービスはよく知られたポートにバインドするため、展開の前に競合を確認してください。9100 は他のソフトウェアでもよく使われるポートで、すでに使用中であればサービスが知らせます。

適した場面: 自社の Web アプリケーションから利用者のすぐ隣にあるプリンターへ印刷したい場合や、印刷経路そのものにクラウド依存のないブラウザー主導の印刷を行いたい場合です。

一覧で比較

WeblinkCLI プロキシCloudToBrowserPrint
動作する場所LAN 内のリレーとプリンター上の証明書LAN 内のマシンまたはコンテナー上のエージェント利用者のマシン上のローカルサービス
プリンターへの経路Zebra Weblink (mTLS)TCP 9100、USBTCP 9100、USB、Bluetooth
印刷にクラウドが必要かはいはいいいえ
Link-OS 以外のプリンターで動くか不可
形式プラットフォームからの ZPL生の ZPLZPL、PDF、Office、画像、バーコード
追加機能証明書の配備、リモート管理プロファイル、監視フォルダー、データハブ検出、変換、バーコードのデコード
代表的な用途固定設置の本番プリンター管理対象の機器群、USB、遠隔拠点Web アプリ、随時のデスクトップ印刷

選び方

  • 設置場所が固定で、プラットフォームから印刷する Link-OS プリンター → Weblink。
  • USB プリンター、旧型プリンター、または自分で管理する機器群 → CLI プロキシ。(USB のみの古いデスクトッププリンターと Raspberry Pi の組み合わせだけで、ひととおり完結します。これについては別の記事があります。)
  • 利用者のすぐ隣のプリンターへ印刷する自社の Web アプリ → CloudToBrowserPrint。
  • 実際の現場 では、たいてい 2 つを併用します。本番プリンターには Weblink、機器群とデータソースにはエージェントです。

関連

その他の記事