private static void insertWatermarkText(Document doc, String watermarkText) throwsException
{
Shape watermark= newShape(doc, ShapeType.TEXT_PLAIN_TEXT);//水印内容
watermark.getTextPath().setText(watermarkText);//水印字体
watermark.getTextPath().setFontFamily("宋体");//水印宽度
watermark.setWidth(500);//水印高度
watermark.setHeight(100);//旋转水印
watermark.setRotation(-40);//水印颜色
watermark.getFill().setColor(Color.lightGray);
watermark.setStrokeColor(Color.lightGray);
watermark.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE);
watermark.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE);
watermark.setWrapType(WrapType.NONE);
watermark.setVerticalAlignment(VerticalAlignment.CENTER);
watermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
Paragraph watermarkPara= newParagraph(doc);
watermarkPara.appendChild(watermark);for(Section sect : doc.getSections())
{
insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_PRIMARY);
insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_FIRST);
insertWatermarkIntoHeader(watermarkPara, sect, HeaderFooterType.HEADER_EVEN);
}
System.out.println("Watermark Set");
}private static void insertWatermarkIntoHeader(Paragraph watermarkPara, Section sect, int headerType) throwsException
{
HeaderFooter header=sect.getHeadersFooters().getByHeaderFooterType(headerType);if (header == null)
{
header= newHeaderFooter(sect.getDocument(), headerType);
sect.getHeadersFooters().add(header);
}
header.appendChild(watermarkPara.deepClone(true));
}