Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为XWPFParagraph设置背景色_Java_Apache Poi_Xwpf - Fatal编程技术网

Java 为XWPFParagraph设置背景色

Java 为XWPFParagraph设置背景色,java,apache-poi,xwpf,Java,Apache Poi,Xwpf,我想更改段落的背景色,但我找不到方法。我只能找到如何突出单词。我希望我的文字看起来像你的截图不太清晰。它可以显示多种不同的内容。但是,当您谈论Word段落时,我怀疑它显示了一个有边框和阴影的段落 下面的代码创建一个Word文档,该文档的段落具有边框和阴影。边框设置可以使用XWPFParagraph的方法实现。直到现在,这里才提供着色设置。因此需要底层ooxml模式的方法和类 import java.io.FileOutputStream; import org.apache.poi.xwpf.

我想更改段落的背景色,但我找不到方法。我只能找到如何突出单词。我希望我的文字看起来像你的截图不太清晰。它可以显示多种不同的内容。但是,当您谈论
Word
段落时,我怀疑它显示了一个有边框和阴影的段落

下面的代码创建一个
Word
文档,该文档的段落具有边框和阴影。边框设置可以使用
XWPFParagraph
的方法实现。直到现在,这里才提供着色设置。因此需要底层
ooxml模式的方法和类

import java.io.FileOutputStream;

import org.apache.poi.xwpf.usermodel.*;

public class CreateWordParagraphBackground {

 private static void setParagraphShading(XWPFParagraph paragraph, String rgb) {
  if (paragraph.getCTP().getPPr() == null) paragraph.getCTP().addNewPPr();
  if (paragraph.getCTP().getPPr().getShd() != null) paragraph.getCTP().getPPr().unsetShd();
  paragraph.getCTP().getPPr().addNewShd();
  paragraph.getCTP().getPPr().getShd().setVal(org.openxmlformats.schemas.wordprocessingml.x2006.main.STShd.CLEAR);
  paragraph.getCTP().getPPr().getShd().setColor("auto");
  paragraph.getCTP().getPPr().getShd().setFill(rgb);
 }

 public static void main(String[] args) throws Exception {

  XWPFDocument document = new XWPFDocument();

  XWPFParagraph paragraph = document.createParagraph();
  XWPFRun run = paragraph.createRun();  
  run.setText("Folollowing paragraph with border and shading:");

  paragraph = document.createParagraph();  
  paragraph.setBorderLeft(Borders.SINGLE);
  paragraph.setBorderTop(Borders.SINGLE);
  paragraph.setBorderRight(Borders.SINGLE);
  paragraph.setBorderBottom(Borders.SINGLE);

  setParagraphShading(paragraph, "BFBFBF");

  run = paragraph.createRun();  
  run.setText("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, ");
  run = paragraph.createRun();
  run.addBreak(BreakType.TEXT_WRAPPING);
  run.setText("sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.");
  run.addBreak(BreakType.TEXT_WRAPPING);

  paragraph = document.createParagraph();

  FileOutputStream out = new FileOutputStream("CreateWordParagraphBackground.docx");
  document.write(out);
  out.close();
  document.close();
 }
}