Skip to content

[conformance] Render differs: extra ink in image (RGBA8888, blend Normal) #723

Open

Description

@github-actions

Note

Safe-PDF's render differs from PDFium's on 2 pages in 2 documents.

Signature mismatch: extra_ink / image (RGBA8888, blend Normal)
Corpora pdfium 1 failure in 1 document · pdfjs 1 failure in 1 document
Baseline not in the baseline
Reference PDFium libpdfium.so (sha256 f728930966f50365)
Context pdf.js and WebKit agree with Safe-PDF on 0 of 2 failing pages
Latest run workflow run at 9745c09

Example: issue9462 (pdfjs, page 2)

PDFium
PDFium
Safe-PDF
Safe-PDF
Difference
Difference
pdf.js
pdf.js

Difference: red = ink missing in Safe-PDF, blue = extra ink, magenta = hue differs, orange = same hue, different shape. Click an image for the interactive viewer.

3.44% of pixels differ; ink coverage PDFium 17.73% vs Safe-PDF 22.98%.

Region Class Annotation Page space Differing px PDFium text Safe-PDF text
0 extra_ink [16, 717, 235, 776] 24444 — —
1 reshaped [448, 77, 560, 152] 3710 symmetrical joints symmetrical joints
2 reshaped [53, 72, 288, 179] 2647 PATTERN CONSIDERATIONS↵Backers and Dowels are 1/16" short of the module width. T PATTERN CONSIDERATIONSBackers and Dowels are 1/16" short of the module width. Th
3 reshaped [416, 472, 533, 659] 1614 Interior Applications↵Other species are offered↵Zero VOC water-based 20% sheen ↵ Interior ApplicationsOther species are offeredZero VOC water-based 20% sheen cle
Safe-PDF draw calls in the regions

Cases

Case Corpus Pages Mismatch Baseline Links
issue9462 pdfjs 2 3.44% not in baseline viewer · summary · PDF
fx/other/1.pdf pdfium 0 0.74% not in baseline viewer · summary · PDF

Reproduce

In a checkout of Velli20/pdf-conformance whose safe-pdf links to your Safe-PDF checkout (ln -s <safe-pdf> safe-pdf):

Tip

Downloads only these PDFs and compares against the published PDFium images, so no local PDFium build is needed. For a corpus that is only read on main, it reruns the cases listed below without reference images, which still shows crashes, timeouts and errors:

cargo conformance repro conf2-9b11dae331ee

cargo conformance render <pdf> --page <n> renders one downloaded PDF and times each Safe-PDF step.

Done when

  • cargo conformance verify conf2-9b11dae331ee exits 0: no listed case fails with this signature
  • A unit test next to the fix covers the case
  • The fixing pull request says Fixes #<this issue>
For agents: machine-readable summary
{
  "cases": [
    {
      "corpus": "pdfjs",
      "id": "issue9462",
      "mismatch": 0.03444484789800694,
      "pages": [
        2
      ],
      "pdf": "https://github.com/mozilla/pdf.js/blob/df863ae9c48f6c44362622125288bd3de34e933f/test/pdfs/issue9462.pdf.link",
      "run": "cargo conformance run --corpus pdfjs --case issue9462",
      "summary": "https://velli20.github.io/pdf-conformance/pdfjs/cases/issue9462-6a36962d/summary.md"
    },
    {
      "corpus": "pdfium",
      "id": "fx/other/1.pdf",
      "mismatch": 0.00735274152995672,
      "pages": [
        0
      ],
      "pdf": "https://pdfium.googlesource.com/pdfium_tests/+/6a4136071608f159f45e274fed1b7d5f4272ca8f/fx/other/1.pdf",
      "run": "cargo conformance run --corpus pdfium --case fx/other/1.pdf",
      "summary": "https://velli20.github.io/pdf-conformance/pdfium/cases/fx_other_1.pdf-334097fd/summary.md"
    }
  ],
  "documents": 2,
  "failures": 2,
  "key": "conf2-9b11dae331ee",
  "reproduce": "cargo conformance repro conf2-9b11dae331ee",
  "signature": "mismatch: extra_ink / image (RGBA8888, blend Normal)",
  "status": "mismatch",
  "suspect": null,
  "verify": "cargo conformance verify conf2-9b11dae331ee"
}

Filed by the conformance workflow. Key conf2-9b11dae331ee. Close as not planned to stop updates. How to read the images and the workflow: README.md.

Activity

  1. pdf-conformance commented on Nov 3, 2026

    @pdf-conformance

    New documents fail this way: pdfjs 0 → 1 documents in https://github.com/Velli20/pdf-conformance/actions/runs/41676038304.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions