🏷️ 札レンダラー設定手順書

所要時間: 約30分
費用: 無料(Google Fontsを使用する場合)

この設定でできること

  • 葬儀札・祝札・供札の画像を自動生成
  • 伝票から直接「葬儀札」「祝/供札」ボタンで名札プレビュー
  • 名札合成(写真に名札を重ねる)

STEP 1: Python をインストールする

札レンダラーは Python で動作します。

  1. https://www.python.org/downloads/ にアクセス
  2. 「Download Python 3.xx.x」ボタンをクリック(3.11以上推奨)
  3. インストーラーを実行
  4. 「Add Python to PATH」に必ずチェックを入れる
  5. 「Install Now」をクリック

確認方法

コマンドプロンプトを開いて以下を入力:

python --version

Python 3.xx.x と表示されれば成功です。


STEP 2: 札レンダラーのファイルを配置する

  1. C:\fuda-renderer フォルダを作成
  2. 以下のファイルをコピーして配置:
    • api.py — APIサーバー本体
    • render_fuda.py — 描画エンジン
    • start_api.py — 起動スクリプト
    • requirements.txt — 依存パッケージ一覧

これらのファイルは製品版の納品時にお渡しします。


STEP 3: 依存パッケージをインストールする

コマンドプロンプトで以下を実行:

cd C:\fuda-renderer
pip install -r requirements.txt

以下のパッケージがインストールされます:

  • FastAPI 0.115.12(Webサーバー)
  • uvicorn 0.34.0(サーバー実行エンジン)
  • Pillow 11.1.0(画像処理)

STEP 4: フォントを準備する

札レンダラーは以下のフォントに対応しています。少なくとも1つを用意してください。

無料フォント(Google Fonts からダウンロード)

フォント名 ファイル名 ダウンロード先
Noto Serif JP NotoSerifJP-Black.ttf https://fonts.google.com/specimen/Noto+Serif+JP
Yuji Syuku YujiSyuku-Regular.ttf https://fonts.google.com/specimen/Yuji+Syuku

ダウンロード手順:

  1. 上記URLにアクセス
  2. 右上の「Download family」ボタンをクリック
  3. ZIPを展開して該当ファイルを取り出す
  4. C:\fuda-renderer フォルダにコピー

有料フォント(お持ちの場合のみ)

フォント名 ファイル名 備考
DynaFont 華康楷書体 DFKAIE.TTC DynaComware社の有料フォント
DynaFont 華康楷書体7 DFKAI7.TTC DynaComware社の有料フォント

有料フォントは別途ライセンスが必要です。お持ちでない場合は Google Fonts の無料フォントで十分です。

ファイル名に注意

フォントファイルは 以下の名前そのまま で配置してください(大文字小文字も正確に):

C:\fuda-renderer\
  ├── api.py
  ├── render_fuda.py
  ├── start_api.py
  ├── requirements.txt
  ├── NotoSerifJP-Black.ttf    ← Google Fonts(無料)
  ├── YujiSyuku-Regular.ttf    ← Google Fonts(無料)
  ├── DFKAIE.TTC               ← お持ちの場合のみ
  └── DFKAI7.TTC               ← お持ちの場合のみ

STEP 5: APIキーを設定する

start_api.py をメモ帳で開き、APIキーを変更します:

import os
os.environ["FUDA_API_KEY"] = "お好きな英数字の文字列"
import uvicorn
uvicorn.run("api:app", host="0.0.0.0", port=10000)

このAPIキーは後で Control-N'AI の設定画面にも入力します。同じ文字列にしてください。


STEP 6: サーバーを起動する

コマンドプロンプトで以下を実行:

cd C:\fuda-renderer
python start_api.py

INFO: Uvicorn running on http://0.0.0.0:10000 と表示されたら起動成功です。

動作確認

ブラウザで以下にアクセス:

http://localhost:10000/health

フォントの状態がJSON形式で表示されます。"ok": true のフォントが使用可能です。

Windows 起動時に自動起動する方法

  1. C:\fuda-renderer に以下の内容で start.bat を作成:
@echo off
cd /d C:\fuda-renderer
python start_api.py
  1. Win + Rshell:startup と入力 → Enter
  2. 開いたフォルダに start.bat のショートカットを配置

STEP 7: Control-N'AI と接続する

  1. Control-N'AI を開く → 設定 ページ
  2. 「🏷️ 名札レンダラー」セクションを探す
  3. 以下を入力:
    • API URL: http://localhost:10000
    • APIキー: STEP 5 で設定した文字列
  4. 「接続テスト」 ボタンで接続を確認
  5. ページ下部の 「保存」 をクリック

Control-N'AI と札レンダラーが別のPCにある場合は、API URL に札レンダラーPCのIPアドレスを指定してください(例: http://192.168.1.xxx:10000


STEP 8: 動作テスト

  1. 任意の伝票を開く
  2. 「葬儀札」 または 「祝/供札」 ボタンをクリック
  3. 名札画像が表示されれば設定完了です

トラブルシューティング

症状 原因と対処
接続テストで「接続できません」 札レンダラーが起動していない → python start_api.py を実行
「401 Invalid API key」 APIキーが不一致 → start_api.py と設定画面のキーを同じにする
/health でフォントが "ok": false フォントファイルが見つからない → ファイル名を確認して再配置
pip install でエラー Python の PATH 設定を確認 → 再インストール時に「Add to PATH」にチェック
名札の文字が表示されない 使用しているフォントファイルが壊れている → 再ダウンロード

異体字・旧字体について

「𠮷」(土吉)や「髙」(はしご高)など、一部の漢字はフォントに収録されていないため表示できない場合があります。

  • フォントに含まれていない字は空白になります
  • 現時点では手書きまたは画像での対応をお願いします
  • 今後のアップデートでAI筆文字生成による対応を予定しています

完了チェックリスト

  • Python 3 インストール済み(python --version で確認)
  • 依存パッケージインストール済み(pip install -r requirements.txt
  • フォントファイルを1つ以上配置済み
  • python start_api.py でサーバー起動確認
  • http://localhost:10000/health でフォント状態確認
  • Control-N'AI 設定画面でAPI URL・キーを保存
  • 接続テスト成功
  • 伝票から「葬儀札」ボタンで名札画像が表示される

🖨 スマホから直接印刷(応用機能)

概要

スマホの札書きアプリで名札を作り、ワンタップでプリンタから印刷できる機能です。iPhoneのAirPrintはカスタム用紙サイズ(195×594mm等)に対応していないため、NAIサーバー経由でプリンタに直接送る方式で実現しています。

仕組み

スマホ(札書きアプリ)
   ↓ 画像データ送信
NAIサーバー(Windows)
   ↓ PDF生成(195×594mm等)
SumatraPDF(サーバーにインストール済み)
   ↓ カスタム用紙で送信
プリンタ(OKI C542 / Canon / EPSON等)
   ↓ 札サイズで印刷
完成 🌸

前提条件

以下が既に整っていれば、N'AIの設定1分で完了:

  1. Windowsにプリンタドライバインストール済み
  2. Windowsのフォーム登録で札サイズが登録済み
    • 葬儀札60(195×594mm)
    • 葬儀50(195×495mm)
    • お祝スタンド(494×195mm)

※ すでに札を紙で印刷している花屋さんなら、上記はほぼ整っています。

セットアップ手順

1. SumatraPDF を配置(初回のみ)

ポータブル版をダウンロード:

ファイルを以下のパスに配置:

C:\control-nai\tools\SumatraPDF.exe

2. プリンタを Windows に追加(未登録の場合)

PowerShell(管理者):

Add-PrinterPort -Name "プリンタ任意名_IP" -PrinterHostAddress "プリンタのIPアドレス"
Add-Printer -Name "プリンタ任意名" -DriverName "実際のドライバ名" -PortName "プリンタ任意名_IP"

3. カスタム用紙サイズの登録(未登録の場合)

プリントサーバーのプロパティを開く:

  • 設定 → プリンターとスキャナー → プリントサーバーのプロパティ → フォームタブ

以下3種類を登録:

フォーム名 高さ
葬儀札60 19.5 cm(195mm) 59.4 cm(594mm)
葬儀50 19.5 cm(195mm) 49.5 cm(495mm)
お祝スタンド 49.4 cm(494mm) 19.5 cm(195mm)

※フォーム名は自由に付けられますが、N'AI側設定と一致させる必要あり。

4. Control-N'AI の設定画面で登録

設定 → API設定 → 名札レンダラー → 「🖨 スマホから直接印刷」セクション

  1. 「取得」ボタンをクリック
    • Windowsから利用可能なプリンタと登録済みフォーム一覧を自動取得
  2. 各欄にカーソルを合わせると候補が表示される
  3. 選択して保存:
    • プリンタ名:例「OKI C542」
    • 葬儀札60 のフォーム名:例「葬儀札60」
    • 葬儀50 のフォーム名:例「葬儀50」
    • お祝スタンドのフォーム名:例「お祝スタンド」

使い方

  1. スマホで N'AI または札書きアプリを開く
  2. 名札を作成(社名・肩書・名前入力 → 生成)
  3. 生成された札画像をタップ
  4. 印刷サイズを選択(例:葬儀札)
  5. 緑色の「🖨 NAIで直接印刷」ボタンをタップ
  6. 「印刷ジョブを送信しました」と表示されれば送信完了
  7. プリンタから札サイズで印刷される

対応プリンタ

Windowsドライバがあり、カスタム用紙サイズに対応するプリンタなら何でも使えます:

  • OKI C542/C612/C712 など業務用カラーレーザー
  • Canon imageCLASS / PIXMA PRO など大判対応機
  • EPSON LP-S シリーズ
  • その他A3対応プリンタ

※ A4専用機、モバイルプリンタは札サイズ非対応のため不可。

トラブルシューティング

印刷ジョブは送信されたがプリンタが出力しない

  • プリンタ本体のMPトレイ/手差しトレイに札用紙がセットされているか確認
  • プリンタドライバで用紙サイズ不一致の警告が出ていないか確認

「SumatraPDF.exe が見つかりません」エラー

  • C:\control-nai\tools\SumatraPDF.exe が存在するか確認
  • 上記パスでない場合、配置し直し

「プリンタが見つかりません」エラー

  • 設定画面のプリンタ名が Windows 登録名と完全一致しているか確認
  • 「取得」ボタンで再度候補一覧を取得

用紙サイズが違う(A4で印刷される等)

  • 設定画面のフォーム名が Windows のフォーム登録名と完全一致しているか確認
  • Windowsのプリントサーバーのプロパティでフォームが保存済みか確認

関連API(開発者向け)

エンドポイント 用途
POST /api/nafuda/print-direct 画像データとサイズを受け取ってプリンタに送信
GET /api/system/printers Windowsに登録済みプリンタ一覧を取得
GET /api/system/paper-forms Windowsに登録済みフォーム(用紙サイズ)一覧を取得

保存先(サーバー上)

  • SumatraPDF: C:\control-nai\tools\SumatraPDF.exe
  • 一時PDF: C:\control-nai\tools\tmp\nafuda-*.pdf(印刷後5秒で自動削除)

DB設定項目(shop_info テーブル)

カラム名 内容
print_printer_name プリンタ名(Windows登録名)
print_form_sougi60 葬儀札60 のフォーム名
print_form_sougi50 葬儀50 のフォーム名
print_form_oiwai お祝スタンドのフォーム名

空の場合はデフォルト値(OKI C542 / 葬儀札60 等)が使われます。


まとめ

スマホ直接印刷機能により、花屋のスタッフが現場でiPhoneから葬儀札をワンタップ印刷できるようになりました。既存のプリンタ環境をそのまま活かせるため、追加ハードウェア購入不要で導入できます。

🤖 AIアシスタント

この手順書の内容について質問できます
👋 こんにちは!設定で困ったことがあれば、なんでも聞いてください。
例:
・「ロリポップのSMTP設定はどうやるの?」
・「APIキーが分からない」
・「エラーが出た」
セキュリティについて | Control-N'AI
AI