userdict /DrawWaterMark {
userdict begin
/Watermark (%1!S!) def
/FontSize %2!d! def
/Font /Helvetica def
/WaterMarkColor {%3 setrgbcolor} bind def
/Angle %4 def

gsave
initgraphics

Angle rotate

clippath
pathbbox /MaxY exch def /MaxX exch def /MinY exch def /MinX exch def

Font findfont FontSize scalefont setfont
/MarkLen Watermark stringwidth pop 1.20 mul def
WaterMarkColor

MinY FontSize MaxY
{
  MinX MarkLen MaxX
  {
    1 index moveto Watermark show
  } for
  pop
} bind for
grestore
end
} bind put

 
