跳至主要內容

水印对象

xsx大约 2 分钟fop模块对象模式水印对象

介绍

说明

本章节将介绍水印对象的基本用法。

特别注意

水印对象的实现方式为将一张文本图片作为背景图添加到文档中,因此会生成一张对应的 “png” 格式的图片。 其默认保存路径为项目路径,其文件名称为水印组件的 id 值,所以 id 值必须设置,否则将抛出异常信息。 并且框架会自动根据设置的 id 值判断文件是否存在并复用。

创建对象

Watermark watermark = TemplateHandler.Watermark.build();

基本用法

说明

创建一个带有水印的空白文档

对象模式 java 代码

// 定义输出路径
String outputPath = "E:\\pdf\\test\\fo\\test.pdf";
// 创建文档
Document document = TemplateHandler.Document.build();
// 创建页面(空白页)
Page page = TemplateHandler.Page.build();
// 创建多行水印
Watermark watermark = TemplateHandler.Watermark.build()
        // 设置水印id
        .setId("test")
        // 设置水印文本
        .setText("第一行", "第二行")
        // 设置水印文本字体大小
        .setFontSize("30pt")
        // 设置水印图片宽度
        .setWidth("300pt")
        // 设置水印图片高度
        .setHeight("200pt")
        // 设置水印显示宽度
        .setShowWidth("200pt")
        // 开启文件覆盖
        .enableOverwrite();
// 添加水印
page.setBodyWatermark(watermark);
// 添加页面
document.addPage(page);
// 转换pdf
document.transform(outputPath);

xsl-fo 模板

说明

对象模式生成的对应 xsl-fo 模板

<?xml version="1.0" encoding="UTF-8"?><!--根标签-->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"
         xmlns:xe="http://www.x-easypdf.cn/ns"
         xmlns:svg="http://www.w3.org/2000/svg">
    <!--页面模板-->
    <fo:layout-master-set>
        <fo:simple-page-master master-name="page1" page-height="29.7cm" page-width="21cm">
            <fo:region-body background-image="url('/H:/java_workspace/my/x-easypdf/gitee/x-easypdf-fop/./test.png')"
                            fox:background-image-width="200pt"/>
            <fo:region-before/>
            <fo:region-after/>
            <fo:region-start/>
            <fo:region-end/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="page1">
        <fo:flow flow-name="xsl-region-body">
            <fo:block/>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

pdf 文档效果

生成的pdf文档
生成的pdf文档

可配置项

配置项

  • setTempDir:设置临时目录
  • setId:设置水印id
  • setWidth:设置图像保存宽度
  • setHeight:设置图像保存高度
  • setShowWidth:设置图像显示宽度
  • setShowHeight:设置图像显示高度
  • setFontFamily:设置字体名称
  • setFontStyle:设置字体样式
  • setFontSize:设置字体大小
  • setFontColor:设置字体颜色
  • setFontAlpha:设置字体透明度
  • setPosition:设置背景图片定位
  • setHorizontalPosition:设置背景图片水平定位
  • setVerticalPosition:设置背景图片垂直定位
  • setRepeat:设置背景图片重复
  • setRadians:设置旋转弧度
  • setText:设置文本列表
  • enableOverwrite:开启文件覆盖

可用方法

可用方法

  • saveImage:保存水印图像