Adding 'DRAFT' to a document: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<pre><nowiki>
{{Scripting Index}}
 
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
 
<pre>


#!/usr/bin/env python
#!/usr/bin/env python
'''
'''
A script to place a light grey watermark 'DRAFT' on a new layer.  
A script to place a light grey watermark 'DRAFT' on a new layer.  
Line 19: Line 26:
Tested on 1.3.3.12 and A2, A4, A5, Letter
Tested on 1.3.3.12 and A2, A4, A5, Letter
'''
'''
from scribus import *
from scribus import *


# Could be expanded to include localization here
# Could be expanded to include localization here
draft = "DRAFT"
draft = "DRAFT"
#draft = "ENTWURF"
#draft = "ENTWURF"
#draft = "BROUILLON"
#draft = "BROUILLON"
Line 46: Line 54:
     rotateObject(45, T)                      # Turn it round antclockwise 45 degrees
     rotateObject(45, T)                      # Turn it round antclockwise 45 degrees
     setUnit(u)                                # return to original document units
     setUnit(u)                                # return to original document units
</pre>

Revision as of 01:41, 15 February 2009

This article is part of the Scripts series.

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


#!/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
 setActiveLayer
 createText
 setUnit
 setText
 setTextColor
 setFontSize
 rotateObject
Tested on 1.3.3.12 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
    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.5)    # 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 of the document

    rotateObject(45, T)                       # Turn it round antclockwise 45 degrees
    setUnit(u)                                # return to original document units