JANOG57 の現地受付業務のために、さくらインターネットが開発した Windows アプリケーションです。 別途稼働している参加登録システムと連携し、QRコードリーダーとブラザー社のラベルプリンターを利用して「参加者の受付(来場処理)」と「名札ラベル印刷」を行います。
実行ファイルも含め、複数コピーを作成することで一台のPCで複数のQRコードとラベルプリンターを制御することができます。
- 参加者QR(URL文字列)から参加者ID(ULID)等を抽出
- 参加登録システム API へ受付情報を送信
- 参加者情報(氏名・所属・参加区分等)をラベルテンプレートへ反映
- ブラザー ラベルプリンターへ印刷
- 日別/スタッフ表示の切り替え(ラベル上の画像差し替え)
- Windows 11
- Visual Studio 2026 / .NET 8 SDK(開発・ビルド時)
- ブラザー b-PAC SDK(COM コンポーネント
bpacを使用) - ブラザー製ラベルプリンター(b-PAC 対応機種)
- QRコードリーダー
- 本アプリはシリアルポート(COM)入力を想定しています(
115200bps)。 - 端末/接続方式により、OS側で COM ポートとして見える必要があります。
- 本アプリはシリアルポート(COM)入力を想定しています(
ReceptionForm.cs: 受付UI、シリアル入力の受信、API呼び出し、印刷処理Client.cs: 参加登録システム API クライアント(Basic認証)Config.cs:config.yamlの読み書きlabel.lbx: ラベルテンプレート(b-PAC)day1.png,day2.png,day3.png,staff.png: ラベル用画像
- ブラザー製プリンタードライバーをインストール
- b-PAC SDK をインストール(
bpacCOM が登録され、コンパイル時に利用できること) - QRコードリーダーを接続し、Windows 上で COM ポートとして認識されることを確認
Visual Studio 2026(Windows)で janog-reception-ui.sln を開いてビルドしてください。
初回起動時、実行ファイルと同じフォルダに config.yaml が自動生成されます。
以後は、アプリ内の設定画面で編集して保存できます(または直接 config.yaml を編集)。
config.yaml は以下の項目を持ちます(名称はアプリ実装に準拠)。
設定変更はUIから行うことができます。
environment:
environment: develop # develop | production
develop:
base_url: "https://dev.example.com"
username: "username"
password: "password"
production:
base_url: "https://prod.example.com"
username: "username"
password: "password"
gate: "default" # 受付ゲート名(APIに送信)
printer: "" # 使用するプリンター名(Windowsのプリンター一覧の表示名)
reader:
port: "COM3" # QRリーダーのCOMポート
serial: "" # 現状は未使用設定画面では以下を指定します。
- 環境(Develop / Production)
- ゲート名(Gate)
- プリンター(b-PAC 対応のプリンターのみが候補に表示されます)
- リーダー(COMポート。PnP 名称付きで表示される場合があります)
- API 接続情報(Base URL / Username / Password)
- アプリを起動
- 右クリックで表示されるメニューから開く設定画面で ゲート情報 / プリンタ / QRリーダー / API 認証情報を設定
- 会期(日別)を選択(Day1/Day2/Day3 など)
- QRコードを読み取ると自動で受付情報を送信し、参加者情報をラベルに反映して印刷します
補足:参加者区分が staff または host の場合、ラベル画像をスタッフ用に切り替えて印刷します。
- 認証:Basic 認証
- API:
POST /api/v1/participants/{id}/accept/ - 送信:
gate/method(QRの?より前の文字列が入ります)/ 参加者ID - 受信:参加者情報(氏名、所属、区分、登壇プログラム等)
印刷は label.lbx(b-PAC テンプレート)を使用します。
テンプレート内で利用している主なフィールド名:
programfull_nameorganizationday_image
テンプレートを変更する場合は、上記フィールド名を維持するか、アプリ側の実装も合わせて変更してください。
- 本ソフトウェアは参加者の氏名・所属などの個人情報を扱います。取り扱いはイベントの運用規程に従ってください。
config.yamlには API の認証情報(ユーザー名・パスワード)が保存されます。- 公開リポジトリへコミットしないでください。
- 配布時は適切なアクセス権(ファイル権限/端末管理)を設定してください。
- 本ソフトウェアは外部APIへ通信します。会場ネットワーク/端末のセキュリティ要件に従って運用してください。
MITライセンス

