From 9eca3a8ea012e2c9bd87141799dc4caba0403cfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Rosselot?= Date: Sat, 19 Jul 2025 13:49:58 -0400 Subject: [PATCH] fix: preserve leading whitespace in PDF output using nbsp --- packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx | 2 +- .../src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx | 2 +- packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx b/packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx index a9b3f7ef6..a1e59ffdf 100644 --- a/packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx +++ b/packages/xl-pdf-exporter/src/pdf/__snapshots__/example.jsx @@ -869,7 +869,7 @@ Styled Text - {' '} +   diff --git a/packages/xl-pdf-exporter/src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx b/packages/xl-pdf-exporter/src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx index 89d1d756e..3a4647eb8 100644 --- a/packages/xl-pdf-exporter/src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx +++ b/packages/xl-pdf-exporter/src/pdf/__snapshots__/exampleWithHeaderAndFooter.jsx @@ -877,7 +877,7 @@ Styled Text - {' '} +   diff --git a/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx b/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx index 50ea545e3..64504f808 100644 --- a/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx +++ b/packages/xl-pdf-exporter/src/pdf/pdfExporter.tsx @@ -118,9 +118,13 @@ export class PDFExporter< public transformStyledText(styledText: StyledText) { const stylesArray = this.mapStyles(styledText.styles); const styles = Object.assign({}, ...stylesArray); + const textWithLeadingNbsp = styledText.text.replace( + /(^|\n) +/g, + (leadingWhiteSpaces) => leadingWhiteSpaces.replace(/ /g, "\u00A0"), + ); return ( - {styledText.text} + {textWithLeadingNbsp} ); }