java如何给office加水印

要求:

1、适用linux系统

2、免费

希望各位大牛给提供下实现方式

有个免费的第三方Free Spire.Doc for Java
,操作Word文档的,支持水印功能,代码如下:
1.文本水印

import com.spire.doc.*;
import com.spire.doc.documents.WatermarkLayout;
import java.awt.*;

public class WordTextWatermark {
    public static void main(String[] args) {

        Document document = new Document();
        document.loadFromFile("Sample.docx");

        insertTextWatermark(document.getSections().get(0));

        document.saveToFile("out/result.docx",FileFormat.Docx );
    }
    private static void insertTextWatermark(Section section) {
        TextWatermark txtWatermark = new TextWatermark();
        txtWatermark.setText("内部使用");
        txtWatermark.setFontSize(40);
        txtWatermark.setColor(Color.red);
        txtWatermark.setLayout(WatermarkLayout.Diagonal);
        section.getDocument().setWatermark(txtWatermark);
    }

}

2.图片水印

import com.spire.doc.*;
public class WordImageWatermark {
    public static void main(String[] args)  throws Exception{

        Document document = new Document();
        document.loadFromFile("Sample.docx");

         PictureWatermark picture = new PictureWatermark();
         picture.setPicture("logo.png");
         picture.setScaling(5);
         picture.isWashout(false);
         document.setWatermark(picture);

         document.saveToFile("out/result2.docx",FileFormat.Docx );
    }
}

请参考原文

为什么转化后内容不全,50页的word转化后只剩下20多页

给pdf加水印吗????可以参考
https://blog.csdn.net/weikaisen1/article/details/80335818

使用FFmpeg命令来实现