com.lowagie.toolbox.plugins

## Class Watermarker

- java.lang.Object
- - com.lowagie.toolbox.AbstractTool
  - - com.lowagie.toolbox.plugins.Watermarker

All Implemented Interfaces:
  java.awt.event.ActionListener, java.util.EventListener

    public class Watermarker
    extends AbstractTool

This tool lets you add a text watermark to all pages of a document.

Since:
  2.1.1 (imported from itexttoolbox project)

### Field Summary

Fields
`(package private) FileArgument` `destfile`

### Fields inherited from class com.lowagie.toolbox.AbstractTool

`arguments, internalFrame, MENU_EXECUTE, MENU_EXECUTE_PRINT, MENU_EXECUTE_PRINT_SILENT, MENU_EXECUTE_SHOW, menuoptions, versionsarray`

### Constructor Summary

Constructors
Constructor and Description
`Watermarker()` This tool lets you add a text watermark to all pages of a document.

### Method Summary

Methods
`protected void` `createFrame()` Creates the internal frame.
`void` `execute()` Executes the tool (in most cases this generates a PDF file).
`protected java.io.File` `getDestPathPDF()` Gets the PDF file that should be generated (or null if the output isn't a PDF file).
`static void` `main(java.lang.String[] args)` This methods helps you running this tool as a standalone application.
`void` `valueHasChanged(AbstractArgument arg)` Indicates that the value of an argument has changed.

### Methods inherited from class com.lowagie.toolbox.AbstractTool

`actionPerformed, addVersion, getArguments, getInternalFrame, getMenubar, getUsage, getValue, setArguments, setInternalFrame, setMainArguments, setMenubar`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### destfile

    FileArgument destfile

### Constructor Detail

#### Watermarker

    public Watermarker()

This tool lets you add a text watermark to all pages of a document.

### Method Detail

#### createFrame

    protected void createFrame()

Creates the internal frame.

Specified by:
  `createFrame` in class `AbstractTool`

#### execute

    public void execute()

Executes the tool (in most cases this generates a PDF file).

Specified by:
  `execute` in class `AbstractTool`

#### getDestPathPDF

    protected java.io.File getDestPathPDF()
                                   throws java.lang.InstantiationException

Gets the PDF file that should be generated (or null if the output isn't a PDF file).

Specified by:
  `getDestPathPDF` in class `AbstractTool`
Returns:
  the PDF file that should be generated
Throws:
  `java.lang.InstantiationException`

#### valueHasChanged

    public void valueHasChanged(AbstractArgument arg)

Indicates that the value of an argument has changed.

Specified by:
  `valueHasChanged` in class `AbstractTool`
Parameters:
  `arg` - the argument that has changed

#### main

    public static void main(java.lang.String[] args)

This methods helps you running this tool as a standalone application.

Call it like this from command line: java com.lowagie.tools.plugins.Watermarker input.pdf Draft 230 0.2 output.pdf

"input.pdf" is the input file name to be processed

"Draft" is the text written as transparent "watermark" on top of each page

"230" is the font size

"0.2" is the opacity (1.0 completely opaque, 0.0 completely transparent)

"output.pdf" is the output file name

Call it from within other Java code:

Watermarker.main(new String[]{"input.pdf","Draft","230","0.2","output.pdf"});

Parameters:
  `args` - the srcfile, watermark text and destfile