You can configure IXIASOFT CCMS Output Generator so that an output type includes a watermark based on the value of a user parameter.
The watermark is only included in the PDF output if a user enables it using a user parameter in the Generate Output dialog.
For more information about creating watermark images, refer to Creating watermark images.
- Copy the watermark image to %OutputGenDir%/data/resources/client.
The watermark image can have any name (the examples below use draft-watermark.png), and it can be any image format except SVG. 
 
- Add the following lines to your preprocessors.xml file in %OutputGenDir%/conf/client:
<user>
	<parameter label="Add watermark?" name="include.watermark" mandatory="false" type="choice">
		<value name="no" _default="true">No</value>
		<value name="yes">Yes</value>
	</parameter>
</user>
 You can name the parameter anything you like and use any label text you like. If there is already a <user>section in the preprocessor, add the parameter to the existing section.
 Here are those lines in context: <preprocessor name="dita2pdf" class="com.ixiasoft.outputgenerator.preprocessor.AntProcessor" >
	<parameters>
		<system>
			...
		</system>
		<user>
			<parameter label="Add watermark?" name="include.watermark" mandatory="false" type="choice">
				<value name="no" _default="true">No</value>
				<value name="yes">Yes</value>
			</parameter>
		</user>
	</parameters>
</preprocessor>
 
 
- Save your changes to the preprocessor file.
- Add the following lines to the appropriate PDF targets in your conductor file:
<if>
	<equals arg1="${outgen.job.userparam.include.watermark}" arg2="yes"/>
	<then>
		<move file="${outgen.job.output.dir}/${outgen.job.source.name.noext}.pdf" todir="${outgen.job.dir}"/>
		<watermark execute="true" 
				   inputfile="${outgen.job.dir}/${outgen.job.source.name.noext}.pdf"
				   tempfile="${outgen.job.output.dir}/${outgen.job.source.name.noext}.pdf"
				   imagefile="${outgen.resources.dir.client}/draft-watermark.png"/>
	</then>
</if>
 Important: If you are using a different user parameter name (other than "include.watermark") be sure to use the same name in the target.
 Here are those lines in context: <target name="BigCorp_PDF" depends="default_dependencies, flatten, resolve_container_keyref, extract_HiRes_images">
	<echostart>BigCorp_PDF</echostart>
	<!-- These are the required target calls to do -->
	<ot_build_add_ditaval_ifpresent/>
	<ot_build_clean_ot_temp/>
		...
	<!-- Set the property job.keep.temp to preserve the completed temp folder of the task -->
	<!--<property name="job.keep.temp" value="yes"/>-->
	<if>
		<equals arg1="${outgen.job.userparam.include.watermark}" arg2="yes"/>
		<then>
			<move file="${outgen.job.output.dir}/${outgen.job.source.name.noext}.pdf" todir="${outgen.job.dir}"/>
			<watermark execute="true" 
				   inputfile="${outgen.job.dir}/${outgen.job.source.name.noext}.pdf"
				   tempfile="${outgen.job.output.dir}/${outgen.job.source.name.noext}.pdf"
				   imagefile="${outgen.resources.dir.client}/draft-watermark.png"/>
		</then>
	</if>
	<echoend>BigCorp_PDF</echoend>
</target>
 
 
- Save your changes to the conductor file.
- Restart the Ixiasoft Output Generator service.
The watermark will be present in all PDFs created when the user selects the value that enables it on the Generate Output dialog.