Measured observations

ItemInput / referenceObserved output
Covered positionX 12 / Y 40 mmDate extracts but is covered
Moved positionX 12 / Y 220 mmOriginal extracted text unchanged

These observations apply to these specimens, not every PDF or reader.

Reproduction conditions

We placed an original opaque PNG over a date and reference number. Both outputs use the same source and image, with different positions. The covered output illustrates intentional overlap, not a recommended default placement.

Checks and export behavior

Engine outputs and the browser warning flow are tested separately. The browser warns that original text or artwork may be hidden and disables download until acknowledgement. Intentional overlap is allowed; moving the image to unused space clears this particular warning. The original date remains extractable in both files.

Fix the placement

  1. Compare the date in the source and covered output.
  2. Select the image and adjust X, Y or width, or try finding a free position.
  3. Review every output page, including the boundaries of old and new artwork.
  4. For explanations, prefer margins or a separate guide page.

Detection limits

Checks use text bounds and a low-resolution render of photos, vectors and scans, with PNG transparency. Fine lines, translucency and subtle backgrounds may be missed. No warning is not a safety guarantee. The download-gate test uses browser automation; physical dragging and OS clipboard testing are separate.

Files to inspect yourself

Independent observations and method (JSON) · Authorship and file hashes

Crop coordinates, scale, source hashes and fresh extraction · Rechecked: 2026-10-24 · pdftoppm version 26.07.0 · pypdf 6.10.0 · pdfplumber 0.11.9. Original PDFs were not modified.

Environment, date and evidence boundaries

Checked: 2026-10-23 · Windows / Chrome 155 · pdf-lib 1.17.1 · PDF.js 6.4.299 · fontkit 1.1.1 · pypdf 6.10.0 · pdftoppm version 26.07.0. PDFs and artwork are original; NanumGothic uses OFL-1.1. Tables and files record direct observations; explanations interpret those structures. Physical OS keyboard input, phones and every PDF reader are outside this test.

Reproduction code: scripts/lab-inputs.py, lab-outputs.mjs, lab-derived.py, tests/readiness-browser.mjs and tests/lab-pdf.py.