可以使用Free Spire.Doc for Java在word文档中添加文本水印或图片水印。Free Spire.Doc for Java下载链接:网页链接
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))
}
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 )
}
}
java文件追加内容的三种方法:方法一:
public static void writeToTxtByRandomAccessFile(File file, String str){
RandomAccessFile randomAccessFile = null
try {
randomAccessFile = new RandomAccessFile(file,"rw")
long len = randomAccessFile.length()
randomAccessFile.seek(len)
randomAccessFile.writeBytes(new String(str.getBytes(),"iso8859-1")+"\r\n")
} catch (FileNotFoundException e) {
e.printStackTrace()
}catch (IOException e) {
e.printStackTrace()
}finally{
try {
randomAccessFile.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}
方法二:
public static void writeToTxtByFileWriter(File file, String content){
BufferedWriter bw = null
try {
FileWriter fw = new FileWriter(file, true)
bw = new BufferedWriter(fw)
bw.write(content)
} catch (IOException e) {
e.printStackTrace()
}finally{
try {
bw.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}
方法三:
public static void writeToTxtByOutputStream(File file, String content){
BufferedOutputStream bufferedOutputStream = null
try {
bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file, true))
bufferedOutputStream.write(content.getBytes())
} catch (FileNotFoundException e) {
e.printStackTrace()
} catch(IOException e ){
e.printStackTrace()
}finally{
try {
bufferedOutputStream.close()
} catch (IOException e) {
e.printStackTrace()
}
}
}