From e695722283eb73b8eca8b2e200b298a808fa8ffa Mon Sep 17 00:00:00 2001 From: tanguy chenier Date: Sat, 12 Sep 2026 14:39:01 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20keep=20commented=20tex?= =?UTF-8?q?t=20sharp=20when=20printing=20to=20PDF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gecko cannot express a blended run in PDF, so it falls back to a bitmap of that run: every commented sentence came out of Print as a 72 dpi image while the rest of the page stayed text. The print stylesheet already hid the comment highlight, but only its background and border, so mix-blend-mode stayed and that is what forces the fallback. Measured on the engine the report came from, printing the same page twice: with the current rule the commented run is not extractable and the file carries an image plus its alpha mask, with mix-blend-mode neutralised it is text again and the file carries no image at all. Signed-off-by: tanguy chenier --- CHANGELOG.md | 1 + .../apps/impress/src/features/docs/doc-export/utils_print.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb4935c8b..9fd49314f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to - 🐛(frontend) scroll to the linked block in read-only documents #2663 - 🐛(frontend) hide the selection highlight on presenter images #2665 - 🐛(y-provider) prevent process crash on malformed websocket frames #2673 +- 🐛(frontend) keep commented text sharp when printing to PDF #2674 - 🐛(docker) pull minio images from quay.io #2675 - ♿️(frontend) restore presenter focus trapping after share links #2533 diff --git a/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts b/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts index 168869215..502ddf5a9 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts +++ b/src/frontend/apps/impress/src/features/docs/doc-export/utils_print.ts @@ -35,11 +35,12 @@ const PRINT_ONLY_CONTENT_CSS = ` display: none !important; } - /* Hide selection highlights */ + /* Hide selection highlights. */ .ProseMirror-yjs-selection, .bn-thread-mark { background-color: transparent !important; border-bottom: none !important; + mix-blend-mode: normal !important; } /* Reset all layout containers for print flow */