{
  "title": "ToolkitPoint reproducible in-browser PDF compression benchmark",
  "generatedAt": "2026-10-28",
  "method": {
    "browser": "chrome.exe",
    "verificationLibrary": "pdfjs-dist@3.11.174",
    "compressionEngine": "ToolkitPoint client PDF engine (pdf-lib@1.17.1)",
    "documents": [
      "text-only: 3-page technical document with headers, body paragraphs, and vector dividers",
      "scanned-image: simulated invoice scan with high-resolution JPEG raster and text layer",
      "mixed: 2-page report with vector data table, paragraphs, and embedded architecture diagram",
      "form: interactive inspection form with AcroForm text fields and toggle checkboxes",
      "slide-deck: 3-slide 16:9 widescreen presentation with vector cards, gradients, and illustration"
    ],
    "presets": [
      "lossless: PDF 1.5 object streams, metadata stripping, and cross-reference table compression",
      "web: JPEG re-encoding at 70% quality, max 1600 px + structural optimization",
      "screen: JPEG re-encoding at 50% quality, max 1000 px + structural optimization",
      "grayscale: JPEG re-encoding converted to 8-bit luma grayscale at 70% quality, max 1600 px + structural optimization"
    ],
    "verification": "Text selectability verified post-compression using Mozilla PDF.js text content extraction. Execution duration measured in milliseconds in client browser runtime.",
    "limitations": "Synthetic documents are reproducible and unencumbered by copyright, but real-world PDFs vary widely in font subset embedding, JBIG2/JPEG2000 compression, pre-existing object stream density, and vector path complexity. Files with already-optimized JPEG streams will show lower incremental savings."
  },
  "rows": [
    {
      "scene": "text-only",
      "sceneDescription": "Multi-page technical text document (3 pages, no rasters)",
      "preset": "lossless",
      "presetLabel": "Lossless (Object Streams & Metadata Cleanup)",
      "origBytes": 5330,
      "origKb": 5.2,
      "compBytes": 3359,
      "compKb": 3.3,
      "savedBytes": 1971,
      "pctSavings": 37,
      "durationMs": 9,
      "textSelectable": true
    },
    {
      "scene": "text-only",
      "sceneDescription": "Multi-page technical text document (3 pages, no rasters)",
      "preset": "web",
      "presetLabel": "Web & Ebook (JPEG 70% Q, max 1600 px)",
      "origBytes": 5330,
      "origKb": 5.2,
      "compBytes": 3359,
      "compKb": 3.3,
      "savedBytes": 1971,
      "pctSavings": 37,
      "durationMs": 7,
      "textSelectable": true
    },
    {
      "scene": "text-only",
      "sceneDescription": "Multi-page technical text document (3 pages, no rasters)",
      "preset": "screen",
      "presetLabel": "Screen & Email (JPEG 50% Q, max 1000 px)",
      "origBytes": 5330,
      "origKb": 5.2,
      "compBytes": 3359,
      "compKb": 3.3,
      "savedBytes": 1971,
      "pctSavings": 37,
      "durationMs": 3,
      "textSelectable": true
    },
    {
      "scene": "text-only",
      "sceneDescription": "Multi-page technical text document (3 pages, no rasters)",
      "preset": "grayscale",
      "presetLabel": "Grayscale (JPEG Gray 70% Q, max 1600 px)",
      "origBytes": 5330,
      "origKb": 5.2,
      "compBytes": 3359,
      "compKb": 3.3,
      "savedBytes": 1971,
      "pctSavings": 37,
      "durationMs": 4,
      "textSelectable": true
    },
    {
      "scene": "scanned-image",
      "sceneDescription": "High-resolution archival document scan (1 page, simulated JPEG scan)",
      "preset": "lossless",
      "presetLabel": "Lossless (Object Streams & Metadata Cleanup)",
      "origBytes": 117883,
      "origKb": 115.1,
      "compBytes": 117235,
      "compKb": 114.5,
      "savedBytes": 648,
      "pctSavings": 0.5,
      "durationMs": 5,
      "textSelectable": true
    },
    {
      "scene": "scanned-image",
      "sceneDescription": "High-resolution archival document scan (1 page, simulated JPEG scan)",
      "preset": "web",
      "presetLabel": "Web & Ebook (JPEG 70% Q, max 1600 px)",
      "origBytes": 117883,
      "origKb": 115.1,
      "compBytes": 63086,
      "compKb": 61.6,
      "savedBytes": 54797,
      "pctSavings": 46.5,
      "durationMs": 166,
      "textSelectable": true
    },
    {
      "scene": "scanned-image",
      "sceneDescription": "High-resolution archival document scan (1 page, simulated JPEG scan)",
      "preset": "screen",
      "presetLabel": "Screen & Email (JPEG 50% Q, max 1000 px)",
      "origBytes": 117883,
      "origKb": 115.1,
      "compBytes": 38969,
      "compKb": 38.1,
      "savedBytes": 78914,
      "pctSavings": 66.9,
      "durationMs": 113,
      "textSelectable": true
    },
    {
      "scene": "scanned-image",
      "sceneDescription": "High-resolution archival document scan (1 page, simulated JPEG scan)",
      "preset": "grayscale",
      "presetLabel": "Grayscale (JPEG Gray 70% Q, max 1600 px)",
      "origBytes": 117883,
      "origKb": 115.1,
      "compBytes": 60979,
      "compKb": 59.5,
      "savedBytes": 56904,
      "pctSavings": 48.3,
      "durationMs": 193,
      "textSelectable": true
    },
    {
      "scene": "mixed",
      "sceneDescription": "Technical report with data table, text, and architecture diagram (2 pages)",
      "preset": "lossless",
      "presetLabel": "Lossless (Object Streams & Metadata Cleanup)",
      "origBytes": 22449,
      "origKb": 21.9,
      "compBytes": 20995,
      "compKb": 20.5,
      "savedBytes": 1454,
      "pctSavings": 6.5,
      "durationMs": 5,
      "textSelectable": true
    },
    {
      "scene": "mixed",
      "sceneDescription": "Technical report with data table, text, and architecture diagram (2 pages)",
      "preset": "web",
      "presetLabel": "Web & Ebook (JPEG 70% Q, max 1600 px)",
      "origBytes": 22449,
      "origKb": 21.9,
      "compBytes": 15754,
      "compKb": 15.4,
      "savedBytes": 6695,
      "pctSavings": 29.8,
      "durationMs": 38,
      "textSelectable": true
    },
    {
      "scene": "mixed",
      "sceneDescription": "Technical report with data table, text, and architecture diagram (2 pages)",
      "preset": "screen",
      "presetLabel": "Screen & Email (JPEG 50% Q, max 1000 px)",
      "origBytes": 22449,
      "origKb": 21.9,
      "compBytes": 13686,
      "compKb": 13.4,
      "savedBytes": 8763,
      "pctSavings": 39,
      "durationMs": 256,
      "textSelectable": true
    },
    {
      "scene": "mixed",
      "sceneDescription": "Technical report with data table, text, and architecture diagram (2 pages)",
      "preset": "grayscale",
      "presetLabel": "Grayscale (JPEG Gray 70% Q, max 1600 px)",
      "origBytes": 22449,
      "origKb": 21.9,
      "compBytes": 13649,
      "compKb": 13.3,
      "savedBytes": 8800,
      "pctSavings": 39.2,
      "durationMs": 49,
      "textSelectable": true
    },
    {
      "scene": "form",
      "sceneDescription": "Interactive inspection form with AcroForm fields & checkbox (1 page)",
      "preset": "lossless",
      "presetLabel": "Lossless (Object Streams & Metadata Cleanup)",
      "origBytes": 8516,
      "origKb": 8.3,
      "compBytes": 5417,
      "compKb": 5.3,
      "savedBytes": 3099,
      "pctSavings": 36.4,
      "durationMs": 8,
      "textSelectable": true
    },
    {
      "scene": "form",
      "sceneDescription": "Interactive inspection form with AcroForm fields & checkbox (1 page)",
      "preset": "web",
      "presetLabel": "Web & Ebook (JPEG 70% Q, max 1600 px)",
      "origBytes": 8516,
      "origKb": 8.3,
      "compBytes": 5417,
      "compKb": 5.3,
      "savedBytes": 3099,
      "pctSavings": 36.4,
      "durationMs": 6,
      "textSelectable": true
    },
    {
      "scene": "form",
      "sceneDescription": "Interactive inspection form with AcroForm fields & checkbox (1 page)",
      "preset": "screen",
      "presetLabel": "Screen & Email (JPEG 50% Q, max 1000 px)",
      "origBytes": 8516,
      "origKb": 8.3,
      "compBytes": 5417,
      "compKb": 5.3,
      "savedBytes": 3099,
      "pctSavings": 36.4,
      "durationMs": 5,
      "textSelectable": true
    },
    {
      "scene": "form",
      "sceneDescription": "Interactive inspection form with AcroForm fields & checkbox (1 page)",
      "preset": "grayscale",
      "presetLabel": "Grayscale (JPEG Gray 70% Q, max 1600 px)",
      "origBytes": 8516,
      "origKb": 8.3,
      "compBytes": 5417,
      "compKb": 5.3,
      "savedBytes": 3099,
      "pctSavings": 36.4,
      "durationMs": 5,
      "textSelectable": true
    },
    {
      "scene": "slide-deck",
      "sceneDescription": "Widescreen presentation with shapes, text cards, and slide photo (3 slides)",
      "preset": "lossless",
      "presetLabel": "Lossless (Object Streams & Metadata Cleanup)",
      "origBytes": 99011,
      "origKb": 96.7,
      "compBytes": 97464,
      "compKb": 95.2,
      "savedBytes": 1547,
      "pctSavings": 1.6,
      "durationMs": 4,
      "textSelectable": true
    },
    {
      "scene": "slide-deck",
      "sceneDescription": "Widescreen presentation with shapes, text cards, and slide photo (3 slides)",
      "preset": "web",
      "presetLabel": "Web & Ebook (JPEG 70% Q, max 1600 px)",
      "origBytes": 99011,
      "origKb": 96.7,
      "compBytes": 55321,
      "compKb": 54,
      "savedBytes": 43690,
      "pctSavings": 44.1,
      "durationMs": 82,
      "textSelectable": true
    },
    {
      "scene": "slide-deck",
      "sceneDescription": "Widescreen presentation with shapes, text cards, and slide photo (3 slides)",
      "preset": "screen",
      "presetLabel": "Screen & Email (JPEG 50% Q, max 1000 px)",
      "origBytes": 99011,
      "origKb": 96.7,
      "compBytes": 32645,
      "compKb": 31.9,
      "savedBytes": 66366,
      "pctSavings": 67,
      "durationMs": 115,
      "textSelectable": true
    },
    {
      "scene": "slide-deck",
      "sceneDescription": "Widescreen presentation with shapes, text cards, and slide photo (3 slides)",
      "preset": "grayscale",
      "presetLabel": "Grayscale (JPEG Gray 70% Q, max 1600 px)",
      "origBytes": 99011,
      "origKb": 96.7,
      "compBytes": 47813,
      "compKb": 46.7,
      "savedBytes": 51198,
      "pctSavings": 51.7,
      "durationMs": 104,
      "textSelectable": true
    }
  ]
}
