— — 2022-08-24 18:27 采纳率: 100%
浏览 63
已结题

java给word添加平铺水印无法解决,求帮助

这是我的代码,想要用java给word添加平铺水印,代码不报错,但是水印没加上,只有doc那个红头文字,求帮助,急
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.HeaderFooter;
import com.spire.doc.Section;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.ShapeLineStyle;
import com.spire.doc.documents.ShapeType;
import com.spire.doc.fields.ShapeObject;
import java.awt.*;
public class multiTextWatermark {
public static void main(String[] args) {
//加载示例文档
Document doc = new Document();
doc.loadFromFile("C:\Users\Test1\Desktop\Sample.docx");
//添加艺术字并设置大小
ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text);
shape.setWidth(60);
shape.setHeight(20);
//设置艺术字文本内容、颜色,位置及样式
shape.setVerticalPosition(30);
shape.setHorizontalPosition(20);
shape.setRotation(315);
shape.getWordArt().setText("内部使用");
shape.setFillColor(Color.green);
shape.setLineStyle(ShapeLineStyle.Single);
shape.setStrokeColor(new Color(192, 192, 192, 255));
shape.setStrokeWeight(1);

     Section section;
     HeaderFooter header;
     for (int n = 0; n < doc.getSections().getCount(); n++) {
         section = doc.getSections().get(n);
         //获取section的页眉
         header = section.getHeadersFooters().getHeader();
         Paragraph paragraph1;
         for (int i = 0; i < 4; i++) {
             //添加段落到页眉
             paragraph1 = header.addParagraph();
             for (int j = 0; j < 3; j++) {
                 //复制艺术字并设置多行多列位置
                 shape = (ShapeObject) shape.deepClone();
                 shape.setVerticalPosition(50 + 150 * i);
                 shape.setHorizontalPosition(20 + 160 * j);
                 paragraph1.getChildObjects().add(shape);
             }
         }
     }
     //保存文档
     doc.saveToFile("output/multi-lineTextwatermark.docx", FileFormat.Docx_2013);
 }

}

  • 写回答

4条回答 默认 最新

  • Java智慧阁 2022-08-24 21:03
    关注

    增加一行,字体的设定:

    img

    shape.getWordArt().setFontFamily("宋体");

    效果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月24日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)