VirtualViewer now offers watermarks for customers who need to mark page backgrounds with specific notifications such as “Private”, “Confidential”, “Do not distribute” and so on. Watermarks can be created that are transparent or solid, of varying fonts and sizes and positions. They can also be restricted to admins versus all users.

They can also have dynamic tags for user name, page numbers, print time, and document name.

What does the User Interface look like?

There are a few UI changes. A new watermarks dialog lays out all the watermarks options for creation, deletion and editing. In the “document handling” dialogs (printing, exporting, etc) a new checkbox has been added, so the user may decide whether to burn their watermarks when exporting.

If a watermark is marked as admin-created, then the “burn watermarks” option will be checked and disabled, so the admin watermarks burn by default. Similarly, a non-admin may not edit or delete admin-created watermarks.

Those dialogs are the only way to interact with watermarks. You can’t select them on the document, move them around, etc–they’re not annotations, they’re marked into the document once created.

Other features

Users may add dynamic data into their watermark text. This is easily done in the watermarks dialog by clicking on a tag button above the text box in the watermark dialog. If you inspect the raw text of the JSON, a tag will appear enclosed in two “@” signs, which may be escaped by adding a “/”. When displayed, the tag will be replaced by data.

For instance, the user wants a page number to print on each page. They click the tag button in the dialog. In JSON, now the watermark text would say, "Page @@pagenumber@@". When displayed on the document, the watermark on page one will read “Page 1”, the watermark on page fifty will read “Page 50” and so on. If the user types “If I wanted a page number I would use /@/@pageNumber/@/@”, the watermark will now display “If I wanted a page number I would use @@pagenumber@@”. The tag is escaped, and so is not replaced by a dynamic number.

Available tags are as follows:

  • Username: the user’s username as stored in user preferences.
  • total pages: the number of pages in the document.
  • current page number: the number of the current page.
  • print time: The date & time when the document was exported or printed. When displaying in the viewer, this is just an example date and time, from when the document was opened.
  • document name: The display name of the current document.