Я конвертирую страницу docx, созданную Apache POI, в docx4j.Добавление altChunk сбрасывает шрифты на ранее созданную страницу - PullRequest
0 голосов
/ 24 сентября 2018

Я загружаю простую страницу с заголовком и стилем, созданным POI, и сохраняю ее как test.docx:

XWPFDocument document = new XWPFDocument();
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setFontFamily("Arial Narrow");
run.setFontSize(22);
run.setText("Test");
run.getCTR().addNewRPr().addNewHighlight().setVal(STHighlightColor.DARK_RED);

Когда я загружаю ее с помощью docx4j и вставляю altChunk, то сохранение документа кажетсячтобы привести к сбросу размера шрифта и семейства шрифтов в Calibri и размер 11. Какой я предполагаю, что это шрифт по умолчанию.

WordprocessingMLPackage wordmlPackage = WordprocessingMLPackage.load(new FileInputStream("test.docx"));

String pageBreak = "<html><body><br style='page-break-after: always; clear:both;' /></body></html>"

wordmlPackage.getMainDocumentPart().addAltChunk(AltChunkType.Html, pageBreak.getBytes());

wordmlPackage.save(new File("I:/local/FinalTestResult.docx"));

Так что мои вопросы, есть что-то, что мне не хватает, почему он делаети как я могу предотвратить сброс шрифта в документе при добавлении AltChunk?

Использование: docx4j версия 3.2.0

Редактировать: я определил причину изменения и включил строкувызывая проблему в оригинальном сообщении:

run.getCTR().addNewRPr().addNewHighlight().setVal(STHighlightColor.DARK_RED);

Похоже, что если я добавлю это в прогон, он сбрасывает шрифты.Хотя не уверен почему.

...