{
  "schema_version": 1,
  "benchmark": "DocBig PDF to Word reproducible structure benchmark",
  "snapshot_date": "2026-08-28",
  "product_scope": "text-based PDF to editable DOCX; structure contracts, not pixel-level visual fidelity",
  "privacy": "Only repository-generated synthetic fixtures are published. No customer or personal documents are included.",
  "cases": [
    {
      "id": "bordered-three-row-table",
      "provenance": "DocBig repository-generated synthetic regression fixture",
      "input_pdf": {
        "url": "/benchmarks/pdf-to-word/fixtures/bordered-three-row-table.pdf",
        "bytes": 4630,
        "sha256": "2dca093db8adcc2e67ceffac1c2128a6ae9c78837927f29a92ef85048ba93cfd"
      },
      "generator": {
        "url": "/benchmarks/pdf-to-word/fixtures/generate-bordered-three-row-table.py",
        "bytes": 1638,
        "sha256": "a5183f7502036d325aff8250b0294ece458af7c020e88be5a3b8b3b9a53af354"
      },
      "contract": {
        "scope": "完整线框三行表格",
        "assertions": [
          "Word 表格数量 = 1",
          "Word 表格行数 = 3",
          "关键字段 Security review / $300.00 / Backup restore / $125.00 位于表格内"
        ]
      }
    },
    {
      "id": "merged-header-table",
      "provenance": "DocBig repository-generated synthetic regression fixture",
      "input_pdf": {
        "url": "/benchmarks/pdf-to-word/fixtures/merged-header-table.pdf",
        "bytes": 4480,
        "sha256": "49f7bad99f5470c7bbfe6dea9e46e1e400bbaaf36e02fc9a1a5e55abe5ee4198"
      },
      "generator": {
        "url": "/benchmarks/pdf-to-word/fixtures/generate-merged-header-table.py",
        "bytes": 2197,
        "sha256": "04e8a8a44d4d1bf43ac10bc30dc5b3d983e67ca66867173ebb2dbae53ca74536"
      },
      "contract": {
        "scope": "横向合并表头线框表格",
        "assertions": [
          "Word 表格数量 >= 1",
          "Word 表格行数 >= 3",
          "w:gridSpan w:val=\"2\" 恰好出现 1 次"
        ]
      }
    },
    {
      "id": "image-before-table-order",
      "provenance": "DocBig repository-generated synthetic regression fixture",
      "input_pdf": {
        "url": "/benchmarks/pdf-to-word/fixtures/image-before-table-order.pdf",
        "bytes": 8402,
        "sha256": "a9c58aa91b7d5687a30a1275961e6fc415abf3ffa908061a26aa080a9716aa80"
      },
      "generator": {
        "url": "/benchmarks/pdf-to-word/fixtures/generate-image-before-table-order.py",
        "bytes": 2820,
        "sha256": "b642663bb43c3de03f2b34c127c8f7d057cb1f76ee8041333dca9f6ed4d89c92"
      },
      "contract": {
        "scope": "独立图片 + 线框表格的阅读顺序",
        "assertions": [
          "w:drawing 数量 = 1",
          "Word 表格数量 = 1",
          "Word 表格行数 = 4",
          "顺序为引导段 → 图片 → 表格 → 尾段"
        ]
      }
    }
  ]
}
