Adding 'DRAFT' to a document: Difference between revisions
Jump to navigation
Jump to search
m (Updated testing status) |
No edit summary |
||
Line 5: | Line 5: | ||
[[Image:Draft_example.png|300px]] | [[Image:Draft_example.png|300px]] | ||
<pre><nowiki> | <pre><nowiki> | ||
test | |||
</nowiki></pre> | |||
Save the following code as [{{#file: draft.py}} draft.py] | |||
<source lang=python> | |||
#!/usr/bin/env python | #!/usr/bin/env python | ||
Line 57: | Line 63: | ||
setUnit(u) # return to original document units | setUnit(u) # return to original document units | ||
setActiveLayer(al) # return to the original active layer | setActiveLayer(al) # return to the original active layer | ||
</source> | |||
</ |
Revision as of 07:12, 8 July 2011
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.
If it doesn't work for you, it may have something to do with your default font.
test
Save the following code as [{{#file: draft.py}} 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.3.9 and A0, A2, A4, A5, Letter. 21 Mar 2011, tested on 1.4.0
'''
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 text box
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