Adding 'DRAFT' to a document
A script to place a light grey watermark 'DRAFT' on a new layer. Requires an existing document, but can be modified to create a new document if it does not exist. Note that this script can be run on a Master Page, which allows you to apply this to as many pages as you wish, without needing to run the script again.
If it doesn't work for you, it may have something to do with your default font.
Save the following code as draft.py
#!/usr/bin/env python ''' A script to place a light grey watermark 'DRAFT' on a new layer. Requires an existing document, but can be modified to create a new document if it does not exist uses (See the API in Help->Scribus Manual->For Developers->Scripter API; haveDoc createLayer getActiveLayer setActiveLayer createText setUnit setText setTextColor setFontSize rotateObject Tested on 1.4.3 and A2, A4, A5, Letter. ''' from scribus import * # Could be expanded to include localization here draft = "DRAFT" #draft = "ENTWURF" #draft = "BROUILLON" L = len(draft) # The length of the word # will determine the font size defineColor("gray", 11, 11, 11, 11) # Set your own color here if haveDoc(): u = getUnit() # Get the units of the document al = getActiveLayer() # Identify the working layer setUnit(UNIT_MILLIMETERS) # Set the document units to mm, (w,h) = getPageSize() # needed to set the text box size createLayer("c") setActiveLayer("c") # T = createText(w/6, 6*h/10 , h, w/2) # Create the box - here is the original line, which # makes an excessively large frame (see pic above) T = createText(w/6, 6*h/10 , 2h/3, w/5) # Create the box - I think you will find this is better # by making a smaller frame setText(draft, T) # Insert the text setTextColor("gray", T) # Set the color of the text setFontSize((w/210)*(180 - 10*L), T) # Set the font size according to length and width rotateObject(45, T) # Turn it round antclockwise 45 degrees setUnit(u) # return to original document units setActiveLayer(al) # return to the original active layer