{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/appositeit/panelbeater/blob/a7b99e05e9efa84ddb600d9ac241e5a0fb4d6168/README.md",
    "https://github.com/appositeit/panelbeater/blob/a7b99e05e9efa84ddb600d9ac241e5a0fb4d6168/LICENSE"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "panelbeater lets a Linux host respond to the Scan button on a ScanSnap iX1500 over Wi-Fi or USB. Over Wi-Fi it registers the host with the scanner; over USB it scans without registration. Its protocol notes document discovery, registration, document transfer and USB behavior, while the client assembles scanned pages into PDFs and can add an OCR text layer when ocrmypdf is installed.",
  "description_zh": "panelbeater 使 Linux 主机可通过 Wi-Fi 或 USB 响应 ScanSnap iX1500 面板上的扫描操作。Wi-Fi 路径会向扫描仪注册主机，USB 路径无需注册。项目记录设备发现、注册、文档传输及 USB 通信行为；客户端可将扫描页合成为 PDF，安装 ocrmypdf 后还可加入 OCR 文字层。",
  "entry_url": "https://awesomerea.org/resources/panelbeater-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/panelbeater-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/appositeit/panelbeater/blob/a7b99e05e9efa84ddb600d9ac241e5a0fb4d6168/docs/PROTOCOL.md",
  "group": "cases",
  "id": "panelbeater-case",
  "json_url": "https://awesomerea.org/resources/panelbeater-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/panelbeater-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/panelbeater-case/index.md",
  "name": "panelbeater: reconstructing ScanSnap iX1500 panel control",
  "name_zh": "panelbeater：还原 ScanSnap iX1500 面板控制",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Python 3.9 or newer and a ScanSnap iX1500; Wi-Fi operation requires configuration on the scanner panel.",
    "USB scanning requires pyusb, Pillow and numpy; PDF assembly and OCR use optional packages.",
    "Network scanning is fixed at 300 dpi colour; USB scanning and SANE cannot claim the scanner simultaneously.",
    "GPL-2.0-or-later license."
  ],
  "requirements_zh": [
    "需要 Python 3.9 或更新版本及 ScanSnap iX1500；使用 Wi-Fi 时须在扫描仪面板上配置网络。",
    "USB 扫描需要 pyusb、Pillow 和 numpy；PDF 合成与 OCR 使用可选依赖。",
    "网络扫描固定为 300 dpi 彩色；USB 扫描与 SANE 无法同时占用扫描仪。",
    "采用 GPL-2.0-or-later 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/appositeit/panelbeater",
  "verification": "source-reviewed",
  "verified_at": "2026-11-08"
}
