Различные стили в одном абзаце Apache пои - PullRequest
0 голосов
/ 09 мая 2020

XWPFParagraph bodyParagraph = docxModel.createParagraph (); bodypart.setalignment (ParagraphAlignment.RIGHT); XWPFRun paragraphConfig = bodyParagraph.createRun (); paragraphConfig.setFontSize (25); paragraphConfig.setText ("Hello world");

Подскажите, как в одном абзаце можно использовать разные стили, например, нужно написать Hello жирным шрифтом, а мир выделить мир?

1 Ответ

2 голосов
/ 09 мая 2020

В документе Word каждый текст, имеющий другой формат, должен быть в отдельном текстовом прогоне. XWPFRun предоставляет методы для прямого форматирования текста.

Итак, если целью является один абзац, содержащий

Hello World

тогда абзацу требуется один текстовый запуск для Hello , за которым следует один текстовый запуск для пробела и один текстовый запуск для World .

Завершено например:

import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;

public class CreateWordHelloWorld {

 public static void main(String[] args) throws Exception {
  XWPFDocument doc= new XWPFDocument();
  XWPFParagraph paragraph = doc.createParagraph();
  XWPFRun run;

  //text run for "Hello" bold
  run = paragraph.createRun();
  run.setBold(true);
  run.setFontSize(25);
  run.setText("Hello");
  //text run for space 
  run = paragraph.createRun();
  run.setFontSize(25);
  run.setText(" ");
  //text run for "World" italic
  run = paragraph.createRun();
  run.setFontSize(25);
  run.setItalic(true);
  run.setText("World");

  FileOutputStream out = new FileOutputStream("WordDocument.docx");
  doc.write(out);
  out.close();
  doc.close();

 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...