{
  "schemaVersion": 1,
  "reviewedOn": "2026-09-05",
  "browser": "152.0.7977.83",
  "pdfLibVersion": "1.17.1",
  "units": "Decimal: 1 KB = 1000 bytes; 1 MB = 1000000 bytes.",
  "jpgCases": [
    {
      "id": "jpg-50kb",
      "settings": {
        "maxKB": 50,
        "pages": "1,2,4",
        "longestEdge": 1000,
        "preservePixels": false
      },
      "allWithinLimit": true,
      "results": [
        {
          "pageNumber": 1,
          "actualBytes": 49665,
          "width": 750,
          "height": 1000,
          "quality": 0.42,
          "maxBytes": 50000,
          "metLimit": true,
          "reason": "",
          "startingWidth": 750,
          "startingHeight": 1000,
          "limitedByRasterBudget": false,
          "file": "jpg-50kb-page-1.jpg",
          "decodedDimensions": {
            "width": 750,
            "height": 1000
          }
        },
        {
          "pageNumber": 2,
          "actualBytes": 49561,
          "width": 1000,
          "height": 750,
          "quality": 0.4,
          "maxBytes": 50000,
          "metLimit": true,
          "reason": "",
          "startingWidth": 1000,
          "startingHeight": 750,
          "limitedByRasterBudget": false,
          "file": "jpg-50kb-page-2.jpg",
          "decodedDimensions": {
            "width": 1000,
            "height": 750
          }
        },
        {
          "pageNumber": 4,
          "actualBytes": 48170,
          "width": 750,
          "height": 1000,
          "quality": 0.1,
          "maxBytes": 50000,
          "metLimit": true,
          "reason": "",
          "startingWidth": 750,
          "startingHeight": 1000,
          "limitedByRasterBudget": false,
          "file": "jpg-50kb-page-4.jpg",
          "decodedDimensions": {
            "width": 750,
            "height": 1000
          }
        }
      ]
    },
    {
      "id": "jpg-impossible",
      "settings": {
        "maxKB": 0.1,
        "pages": "4",
        "longestEdge": 1000,
        "preservePixels": true
      },
      "allWithinLimit": false,
      "results": [
        {
          "pageNumber": 4,
          "actualBytes": 16177,
          "width": 750,
          "height": 1000,
          "quality": 0,
          "maxBytes": 100,
          "metLimit": false,
          "reason": "The JPEG is still larger than the maximum at these fixed dimensions. Try a larger size limit or smaller dimensions.",
          "startingWidth": 750,
          "startingHeight": 1000,
          "limitedByRasterBudget": false,
          "file": "jpg-impossible-page-4.jpg",
          "decodedDimensions": {
            "width": 750,
            "height": 1000
          }
        }
      ]
    }
  ],
  "splitCases": [
    {
      "id": "split-2kb",
      "maxBytes": 2000,
      "allWithinLimit": false,
      "serializationCount": 7,
      "parts": [
        {
          "startPage": 1,
          "endPage": 1,
          "pageCount": 1,
          "actualBytes": 1277,
          "maxBytes": 2000,
          "metLimit": true,
          "oversizeSinglePage": false,
          "reason": "",
          "file": "split-2kb-pages-1-1.pdf",
          "decodedPageCount": 1,
          "decodedPages": [
            {
              "sourcePage": 1,
              "requiredText": "PAGE ONE - selectable text",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            }
          ]
        },
        {
          "startPage": 2,
          "endPage": 2,
          "pageCount": 1,
          "actualBytes": 1269,
          "maxBytes": 2000,
          "metLimit": true,
          "oversizeSinglePage": false,
          "reason": "",
          "file": "split-2kb-pages-2-2.pdf",
          "decodedPageCount": 1,
          "decodedPages": [
            {
              "sourcePage": 2,
              "requiredText": "PAGE TWO - rotated page",
              "textRetained": true,
              "width": 800,
              "height": 600,
              "rotation": 90
            }
          ]
        },
        {
          "startPage": 3,
          "endPage": 3,
          "pageCount": 1,
          "actualBytes": 1270,
          "maxBytes": 2000,
          "metLimit": true,
          "oversizeSinglePage": false,
          "reason": "",
          "file": "split-2kb-pages-3-3.pdf",
          "decodedPageCount": 1,
          "decodedPages": [
            {
              "sourcePage": 3,
              "requiredText": "PAGE THREE - shared font",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            }
          ]
        },
        {
          "startPage": 4,
          "endPage": 4,
          "pageCount": 1,
          "actualBytes": 308425,
          "maxBytes": 2000,
          "metLimit": false,
          "oversizeSinglePage": true,
          "reason": "Page 4 alone exceeds the limit after saving. Splitting cannot divide its contents; use a larger limit or reduce that page's content.",
          "file": "split-2kb-pages-4-4.pdf",
          "decodedPageCount": 1,
          "decodedPages": [
            {
              "sourcePage": 4,
              "requiredText": "PAGE FOUR - synthetic color chart",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            }
          ]
        }
      ]
    },
    {
      "id": "split-400kb",
      "maxBytes": 400000,
      "allWithinLimit": true,
      "serializationCount": 3,
      "parts": [
        {
          "startPage": 1,
          "endPage": 4,
          "pageCount": 4,
          "actualBytes": 310670,
          "maxBytes": 400000,
          "metLimit": true,
          "oversizeSinglePage": false,
          "reason": "",
          "file": "split-400kb-pages-1-4.pdf",
          "decodedPageCount": 4,
          "decodedPages": [
            {
              "sourcePage": 1,
              "requiredText": "PAGE ONE - selectable text",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            },
            {
              "sourcePage": 2,
              "requiredText": "PAGE TWO - rotated page",
              "textRetained": true,
              "width": 800,
              "height": 600,
              "rotation": 90
            },
            {
              "sourcePage": 3,
              "requiredText": "PAGE THREE - shared font",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            },
            {
              "sourcePage": 4,
              "requiredText": "PAGE FOUR - synthetic color chart",
              "textRetained": true,
              "width": 600,
              "height": 800,
              "rotation": 0
            }
          ]
        }
      ]
    }
  ],
  "pdfJsVersion": "4.8.69",
  "fixture": {
    "pageCount": 4,
    "labels": [
      "PAGE ONE - selectable text",
      "PAGE TWO - rotated page",
      "PAGE THREE - shared font",
      "PAGE FOUR - synthetic color chart"
    ],
    "creationDate": "2026-09-05T00:00:00Z",
    "seed": 20260905
  },
  "artifacts": [
    {
      "file": "source.pdf",
      "actualBytes": 310814,
      "sha256": "06df9843bc9202cdb6ebf6c2417428e5ee4355ede2af887275408f31121a8e7f",
      "kind": "source",
      "pageCount": 4
    },
    {
      "file": "jpg-50kb-page-1.jpg",
      "actualBytes": 49665,
      "sha256": "4f2ca0b7566c082359ae591262a1ffbf22d964edda8a0c24c580871cf7d9bf98",
      "kind": "jpg-output"
    },
    {
      "file": "jpg-50kb-page-2.jpg",
      "actualBytes": 49561,
      "sha256": "7f1cf6137b36b97df8ca419a42b668720e537c149945093b2a62c0f804975373",
      "kind": "jpg-output"
    },
    {
      "file": "jpg-50kb-page-4.jpg",
      "actualBytes": 48170,
      "sha256": "dee340ebce57c8c02e8490128db58bdd523512223753d5af71ec6997c1c9a2c1",
      "kind": "jpg-output"
    },
    {
      "file": "jpg-impossible-page-4.jpg",
      "actualBytes": 16177,
      "sha256": "c6d54ec4448445150bf6e387ee52ad41ab7bb7b9b01047c3f2b66f39de23cbe1",
      "kind": "jpg-output"
    },
    {
      "file": "split-preview-page-1.png",
      "actualBytes": 54779,
      "sha256": "1be962820432f4a55bc1de4db432b87c66d8a7cacbdb6ebf1e183502c18c8923",
      "kind": "rendered-pdf-preview",
      "sourcePage": 1
    },
    {
      "file": "split-2kb-pages-1-1.pdf",
      "actualBytes": 1277,
      "sha256": "6c224cf5e78eafded3be25464a84e76f6b788c3be4f5dc9400a11deda4436e0d",
      "kind": "pdf-output"
    },
    {
      "file": "split-preview-page-2.png",
      "actualBytes": 30225,
      "sha256": "9e4cdd4118c5d4f4f3611e7b5292016b30a19c65d72b8d4b7ce1e671e5554f24",
      "kind": "rendered-pdf-preview",
      "sourcePage": 2
    },
    {
      "file": "split-2kb-pages-2-2.pdf",
      "actualBytes": 1269,
      "sha256": "7f501117f31c2054e14e3d497ba0da215eec8647849f27590b93323e6dc672b2",
      "kind": "pdf-output"
    },
    {
      "file": "split-preview-page-3.png",
      "actualBytes": 54610,
      "sha256": "c4715e2a3e7070a8cb509b88620d998eb99948001085313f8f1bf35204401807",
      "kind": "rendered-pdf-preview",
      "sourcePage": 3
    },
    {
      "file": "split-2kb-pages-3-3.pdf",
      "actualBytes": 1270,
      "sha256": "e47034b44f7b09156048a246be9b3595a87903457fab638de9f7ec6b68bc6cb7",
      "kind": "pdf-output"
    },
    {
      "file": "split-preview-page-4.png",
      "actualBytes": 440907,
      "sha256": "3ebac237fb2357678cd7cfa9749c78020bbbd26c67531deb1174631e23dcfd08",
      "kind": "rendered-pdf-preview",
      "sourcePage": 4
    },
    {
      "file": "split-2kb-pages-4-4.pdf",
      "actualBytes": 308425,
      "sha256": "13e09af12fce77a78c869de28947dc072f23e9ddf5b31a4d37b311d73e9354b9",
      "kind": "pdf-output"
    },
    {
      "file": "split-400kb-pages-1-4.pdf",
      "actualBytes": 310670,
      "sha256": "1d640fd941ec76246eaeb63654a94dbd04a640a41406a5b5e16ee0afa316e52e",
      "kind": "pdf-output"
    }
  ],
  "sourceHashes": {
    "src/shared/pdf-size-tools/requirements.js": "bb64eccae85434b6cfc6212796e66fb6f870b8ce214c4c469cb7eb734c7b81b0",
    "src/shared/pdf-size-tools/pages-to-jpg.js": "315c0815ee73c61fa4fd404800a25a48313f631b267d9ca0e0365531410eb871",
    "src/shared/pdf-size-tools/split-by-size.js": "a9a1f30d8968a240c5a816078fd2304c0060de350da9fd08c9aa682a831208c9",
    "src/shared/resize-image-to-kb.js": "c6a048694958fe90a33730eddf0ae8be3b44bf5fe1c8b0b7e686bfde74f093bd",
    "scripts/benchmark-pdf-size-tools.mjs": "f61c85158a61602183f22d951ba4d6231ffbaf59fa6ea6ff0d8bc81032b30100"
  }
}
