{
  "method": "pypdf first-page extraction, compared to original TXT; whitespace only ignored; no punctuation or Unicode normalization",
  "rows": [
    {
      "label": "Straight quotes:",
      "source": "Straight quotes: \"Ready to ship\" and it's approved.",
      "outputs": {
        "cc": {
          "page": 1,
          "text": "Straight quotes: \"Ready to ship\" and it's approved.",
          "equal_ignoring_whitespace": true
        },
        "pdfonfly": {
          "page": 1,
          "text": "Straight quotes: \"Ready to ship\" and it's approved.",
          "equal_ignoring_whitespace": true
        },
        "texttopdf": {
          "page": 1,
          "text": "Straight quotes: \"Ready to ship\" and it's approved.",
          "equal_ignoring_whitespace": true
        }
      }
    },
    {
      "label": "Smart quotes:",
      "source": "Smart quotes: “Ready to ship” and it’s approved.",
      "outputs": {
        "cc": {
          "page": 1,
          "text": "Smart quotes: “Ready to ship” and it’s approved.",
          "equal_ignoring_whitespace": true
        },
        "pdfonfly": {
          "page": 1,
          "text": "Smart quotes: “Ready to ship” and it’s approved.",
          "equal_ignoring_whitespace": true
        },
        "texttopdf": {
          "page": 1,
          "text": "Smart quotes: \"Ready to ship\" and it's approved.",
          "equal_ignoring_whitespace": false
        }
      }
    },
    {
      "label": "Dashes:",
      "source": "Dashes: Monday-Friday; plan–review; approved—not delayed.",
      "outputs": {
        "cc": {
          "page": 1,
          "text": "Dashes: Monday-Friday; plan–review; approved—not delayed.",
          "equal_ignoring_whitespace": true
        },
        "pdfonfly": {
          "page": 1,
          "text": "Dashes: Monday-Friday; plan–review; approved—not delayed.",
          "equal_ignoring_whitespace": true
        },
        "texttopdf": {
          "page": 1,
          "text": "Dashes: Monday-Friday; plan-review; approved--not delayed.",
          "equal_ignoring_whitespace": false
        }
      }
    },
    {
      "label": "Business symbols:",
      "source": "Business symbols: $1,250.50 / 25% / R&D / #42 / (draft) / user@example.com",
      "outputs": {
        "cc": {
          "page": 1,
          "text": "Business symbols: $1,250.50 / 25% / R&D / #42 / (draft) / user@example.com",
          "equal_ignoring_whitespace": true
        },
        "pdfonfly": {
          "page": 1,
          "text": "Business symbols: $1,250.50 / 25% / R&D / #42 / (draft) / user@example.com",
          "equal_ignoring_whitespace": true
        },
        "texttopdf": {
          "page": 1,
          "text": "Business symbols: $1,250.50 / 25% / R&D / #42 / (draft) / user@example.com",
          "equal_ignoring_whitespace": true
        }
      }
    }
  ]
}
