From 8464ebf6f10c1f2269198cee8f2b1460a83d9689 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Wed, 23 Sep 2026 16:19:39 +0100 Subject: [PATCH] fix(docx): build a field's run through the IRunBody constructor new XWPFRun(CTR, XWPFParagraph) is deprecated in POI and delegates to XWPFRun(CTR, IRunBody). The page field and page reference writers now call the latter directly, as the hyperlink writer already does. The written XML is unchanged. --- .../document/backend/semantic/docx/DocxSemanticBackend.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxSemanticBackend.java b/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxSemanticBackend.java index a6a24ce40..b73cc3abf 100644 --- a/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxSemanticBackend.java +++ b/render-docx/src/main/java/com/demcha/compose/document/backend/semantic/docx/DocxSemanticBackend.java @@ -918,7 +918,7 @@ private void appendPageField(XWPFParagraph para, PageFieldNode field) { // the node's text style like any other run — Word keeps a field result's // formatting when it repaints it, so an unstyled placeholder would snap // a styled page number back to the document default. - XWPFRun run = new XWPFRun(simple.addNewR(), para); + XWPFRun run = new XWPFRun(simple.addNewR(), (IRunBody) para); applyStyle(run, field.textStyle()); run.setText(fieldPlaceholder(field.kind())); } @@ -2186,7 +2186,7 @@ private void writePageReference(XWPFDocument document, } else { CTSimpleField field = para.getCTP().addNewFldSimple(); field.setInstr(" PAGEREF " + bookmark + " \\h "); - run = new XWPFRun(field.addNewR(), para); + run = new XWPFRun(field.addNewR(), (IRunBody) para); } applyStyle(run, node.textStyle()); run.setText(shown);