{
  "schema_version": 1,
  "test_id": "W2D-OCR-20261003-A",
  "test_date": "2026-10-03",
  "validation_recorded_at_utc": "2026-10-03T09:26:27Z",
  "environment": {
    "browser": "Chrome",
    "execution": "remote cloud browser",
    "vendor_access": "Public online OCR interfaces; no sign-in or payment used",
    "editions": [
      "PDF24 Tools online OCR",
      "Sejda online OCR"
    ]
  },
  "source": {
    "type": "synthetic",
    "language": "English",
    "pages": 1,
    "width_pixels": 1654,
    "height_pixels": 2339,
    "png_dpi": 200,
    "png": "inputs/w2d-ocr-synthetic-a.png",
    "image_only_pdf": "inputs/w2d-ocr-synthetic-a-image-only.pdf",
    "ground_truth": "inputs/w2d-ocr-synthetic-a-ground-truth.txt",
    "same_decoded_rgb_pixels": true,
    "input_pdf_has_text": false,
    "pixel_sha256": "b6d2fb6f8a3b5c8ff4b38a841729508e87a0c5d40c0591c03db5144c85ce0f81"
  },
  "runs": [
    {
      "vendor": "PDF24",
      "public_source_url": "https://tools.pdf24.org/en/ocr-pdf",
      "input": "inputs/w2d-ocr-synthetic-a.png",
      "settings": {
        "language": "English",
        "output": "PDF",
        "remove_background": false,
        "rotate": false,
        "deskew": false,
        "clean": false,
        "force_ocr": false,
        "combine": false
      },
      "result": "completed",
      "vendor_reported_words": 105,
      "outputs": [
        "outputs/pdf24-ocr-output.pdf"
      ],
      "render_inspected": true,
      "text_extraction_verified": true,
      "marker_searches_verified": [
        "COPPER-FALCON-742",
        "ZX-1048",
        "239.40"
      ],
      "symbol_row_match": false,
      "screenshot": "evidence/pdf24-complete.png"
    },
    {
      "vendor": "Sejda",
      "public_source_url": "https://www.sejda.com/ocr-pdf",
      "input": "inputs/w2d-ocr-synthetic-a-image-only.pdf",
      "settings": {
        "language": "English",
        "outputs": [
          "PDF",
          "Text"
        ],
        "page_scope": "all pages"
      },
      "result": "completed",
      "outputs": [
        "outputs/sejda-original-download.zip",
        "outputs/sejda-ocr-output.pdf",
        "outputs/sejda-vendor-text-output.txt"
      ],
      "render_inspected": true,
      "text_extraction_verified": true,
      "marker_searches_verified": [
        "COPPER-FALCON-742",
        "ZX-1048",
        "239.40"
      ],
      "symbol_row_match": false,
      "screenshot": "evidence/sejda-complete.png"
    }
  ],
  "validation": {
    "methods": [
      "Poppler PDF rendering and visual inspection",
      "Poppler pdftotext -layout",
      "PyMuPDF text extraction and search_for bounding rectangles",
      "pypdf text extraction",
      "Decoded RGB pixel equality for source PNG and image-only PDF"
    ],
    "output_validation": "evidence/output-validation.json",
    "input_validation": "evidence/input-validation.json"
  },
  "finding": "Both actual runs returned readable single-page PDFs with extractable text and matches for three named search strings; both extracted symbol rows differed from the source.",
  "limitations": [
    "One clean synthetic English page and one run per vendor",
    "Different input formats with identical source pixels",
    "No accuracy score or overall winner",
    "No document-editability claim",
    "No handwriting, mixed-language, damaged-scan or complex-layout conclusion",
    "No measured speed, privacy/security or long-term free-limit conclusion"
  ],
  "artifacts": [
    {
      "path": "inputs/w2d-ocr-synthetic-a-ground-truth.txt",
      "bytes": 806,
      "sha256": "036339a1ca7a22257f66367ff899027eabfe4c57d1027988d537c2ad9abd9933"
    },
    {
      "path": "inputs/w2d-ocr-synthetic-a-image-only.pdf",
      "bytes": 166345,
      "sha256": "edb369cbf95dbdd6eef03737ad8609db5eeca2e9ca855da88a7ea4a31aaa7977"
    },
    {
      "path": "inputs/w2d-ocr-synthetic-a.png",
      "bytes": 163050,
      "sha256": "2b291733a2e9cee956d4283bcb0a636dc07b177afbd69a7ba40061509ec4310c"
    },
    {
      "path": "outputs/pdf24-ocr-output.pdf",
      "bytes": 162493,
      "sha256": "d3446491a60724a05435930a28d0b818af952c10795c4d9c70d9d9883c1ad13e"
    },
    {
      "path": "outputs/pdf24-pdftotext-layout.txt",
      "bytes": 821,
      "sha256": "a08d7b605e9b275e5650a2af305cfc3c75ea53fcdc0aa012ef11b1e829a7ff4b"
    },
    {
      "path": "outputs/pdf24-pymupdf-text.txt",
      "bytes": 730,
      "sha256": "24a143d6388242d4ea6139d10909b15b682793575f47a920bfa5d072812c82db"
    },
    {
      "path": "outputs/pdf24-pypdf-text.txt",
      "bytes": 721,
      "sha256": "a5790c3512748a495c6da3602656db725a2ad23f3a2ec929449260e96266bcaa"
    },
    {
      "path": "outputs/sejda-ocr-output.pdf",
      "bytes": 170792,
      "sha256": "2c518f96514ed84af9812450dd5d03bf0d407b9ebb816041748c72520cc70f1d"
    },
    {
      "path": "outputs/sejda-original-download.zip",
      "bytes": 171907,
      "sha256": "11448c0973aa287fbd100cd871e8ae355779d138afeef0eb2d0a5ef99b20113a"
    },
    {
      "path": "outputs/sejda-pdftotext-layout.txt",
      "bytes": 961,
      "sha256": "e6d7116a9341f99ffa12198688ff3a98ff35e9104e72023c44331c51404e76d1"
    },
    {
      "path": "outputs/sejda-pymupdf-text.txt",
      "bytes": 733,
      "sha256": "978d0a366b3c7203a21dea685fa4709f51ebc47b865218e4221bb98c7fc31925"
    },
    {
      "path": "outputs/sejda-pypdf-text.txt",
      "bytes": 722,
      "sha256": "331fbfd11479d534d9f849a46e2831e9b9967d56beaf827d0338928f7add64a6"
    },
    {
      "path": "outputs/sejda-vendor-text-output.txt",
      "bytes": 743,
      "sha256": "a8578f457dd84f5e7729a1fe311214ac679b3fc2bdf3069832f02556ccf87c58"
    },
    {
      "path": "outputs/source_image_only_pdf-pymupdf-text.txt",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "path": "outputs/source_image_only_pdf-pypdf-text.txt",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "path": "pages/input-preview.png",
      "bytes": 94595,
      "sha256": "38452757e7d932196af523a5c018578c26c7a926f25e806ddfe38b8ea06fb1ce"
    },
    {
      "path": "pages/pdf24-output-preview.png",
      "bytes": 95122,
      "sha256": "55de8ec7869650876f3fb799ebcc3dde43d2e744224776943b38f9984d7780dc"
    },
    {
      "path": "pages/sejda-output-preview.png",
      "bytes": 94595,
      "sha256": "38452757e7d932196af523a5c018578c26c7a926f25e806ddfe38b8ea06fb1ce"
    },
    {
      "path": "evidence/input-validation.json",
      "bytes": 535,
      "sha256": "ad559bbb93390c6a930bf3af4651bcb60e4dc9c0c0995e17946b6d9b9a3a8ceb"
    },
    {
      "path": "evidence/output-validation.json",
      "bytes": 4501,
      "sha256": "23e2f1ee89b440aac460edee429a2f6fa66c1130cb21377bf0ea970c31216916"
    },
    {
      "path": "evidence/pdf24-complete.png",
      "bytes": 63233,
      "sha256": "79c3a3876bfdf67e551008021fe6d28f6a3225f805fe8bb6caa6754f978cb999"
    },
    {
      "path": "evidence/sejda-settings.png",
      "bytes": 62950,
      "sha256": "004d52a6dad3ed4b0a4cbb602138fc15eae14684f819d6f8178478778980db10"
    },
    {
      "path": "evidence/sejda-complete.png",
      "bytes": 43499,
      "sha256": "b23d427e1fd2fb3c9abee1a03161e19df9c0e1d6292d8cb3aa3ade38c440bf77"
    }
  ],
  "publication_note": "Public evidence subset: original input/output bytes, local extraction results, validation records and screenshots. Raw session DOM, job URLs and research scripts are not published."
}
