上边那个黑色粗线 我得解决办法是 插入图片
private static P addFastPicture(WordprocessingMLPackage wordMLPackage){
Drawing drawing = null;
try{
// 读入图片并转化为字节数组,因为docx4j只能字节数组的方式插入图片
InputStream is = new FileInputStream("F:\\trsCompany\\最新模板\\重新导入模板-0k\\line.png");
byte[] bytes = IOUtils.toByteArray(is);
// 创建一个行内图片
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes);
// createImageInline函数的前四个参数我都没有找到具体啥意思
// 最有一个是限制图片的宽度,缩放的依据
Inline inline = imagePart.createImageInline(null, null, 100, 500, 8900,false);
drawing = Context.getWmlObjectFactory().createDrawing();
drawing.getAnchorOrInline().add(inline);
}catch(Exception e){
e.printStackTrace();
}
Jc jc = new Jc();
// 单元格居中对齐
jc.setVal(JcEnumeration.CENTER);
PPr pPr = new PPr();
pPr.setJc(jc);
R r = Context.getWmlObjectFactory().createR();
r.getContent().add(drawing);
P paragraph = Context.getWmlObjectFactory().createP();
paragraph.setPPr(pPr);
paragraph.getContent().add(r);
return paragraph;
}
但是createImageInline后边那几个参数我没太弄懂啥意思 路过的大神可以留言
下边是一个关于Docx4j值得看的博客以及这篇博客中的方法
https://myclover.iteye.com/blog/1553967
/**
* 功能描述:设置字体的样式,宋体,黑色,18号
* @param isBlod 是否加粗
* @return 返回值:返回字体样式对象
* @throws Exception
* @author myclover
*/
private static RPr getRPr(boolean isBlod){
return getRPr("宋体", "000000", "18", STHint.EAST_ASIA, isBlod);
}
/**
* 功能描述:设置字体的样式
* @param fontFamily 字体类型
* @param colorVal 字体颜色
* @param hpsMeasureSize 字号大小
* @param sTHint 字体格式
* @param isBlod 是否加粗
* @return 返回值:返回字体样式对象
* @throws Exception
* @author myclover
*/
private static RPr getRPr(String fontFamily , String colorVal , String hpsMeasureSize , STHint sTHint , boolean isBlod){
ObjectFactory factory = Context.getWmlObjectFactory();
RPr rPr = factory.createRPr();
org.docx4j.wml.RFonts rf = new org.docx4j.wml.RFonts();
rf.setHint(sTHint);
rf.setAscii(fontFamily);
rf.setHAnsi(fontFamily);
rPr.setRFonts(rf);
BooleanDefaultTrue bdt = Context.getWmlObjectFactory().createBooleanDefaultTrue();
rPr.setBCs(bdt);
if(isBlod){
rPr.setB(bdt);
}
org.docx4j.wml.Color color = new org.docx4j.wml.Color();
color.setVal(colorVal);
rPr.setColor(color);
org.docx4j.wml.HpsMeasure sz = new org.docx4j.wml.HpsMeasure();
sz.setVal(new BigInteger(hpsMeasureSize));
rPr.setSz(sz);
rPr.setSzCs(sz);
return rPr;
}