{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/dharantej1/PrinterCraft/blob/7b3467a49fa9c5a532aa49b3aa932e4d1db90994/README.md"
  ],
  "category": "reconstruction-cases",
  "class": "software",
  "description_en": "printer-craft reconstructs the CUPS printing pipeline identified in PdfCraft.app as a Python library and CLI. Its analysis maps Mach-O symbols and disassembly to printer discovery through lpstat, PPD option parsing through lpoptions, argument assembly and print submission through lp.",
  "description_zh": "printer-craft 将 PdfCraft.app 的 CUPS 打印流程重建为 Python 库和命令行工具。分析报告结合 Mach-O 符号与反汇编，梳理 lpstat 发现打印机、lpoptions 解析 PPD 选项、组装参数及通过 lp 提交任务的流程。",
  "entry_url": "https://awesomerea.org/resources/printer-craft-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/printer-craft-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/dharantej1/PrinterCraft/blob/7b3467a49fa9c5a532aa49b3aa932e4d1db90994/REVERSE_ENGINEERING.md",
  "group": "cases",
  "id": "printer-craft-case",
  "json_url": "https://awesomerea.org/resources/printer-craft-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/printer-craft-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/printer-craft-case/index.md",
  "name": "printer-craft: reconstructing PdfCraft.app's CUPS printing pipeline",
  "name_zh": "printer-craft：重建 PdfCraft.app 的 CUPS 打印流程",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "license"
  ],
  "requirements": [
    "Python 3.9 or later on macOS or Linux, with CUPS command-line binaries.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要 macOS 或 Linux、Python 3.9 或更高版本，以及 CUPS 命令行程序。",
    "MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "app",
    "binary"
  ],
  "url": "https://github.com/dharantej1/PrinterCraft",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
