Enlarge2Page

This script takes a selected object, enlarges it to the page size, and places it at an X-Pos, Y-Pos of 0,0. Works for whatever units you are using, since it simply gets the information and uses your selected units.

There is error detection for no selected object, but also for more than one selected object. The script would actually work for more than one selected object, but the resizing/repositioning will only apply to one of them. If you have grouped objects no error is detected, but only the bounding box is affected – the items of the group are not changed in size or position. One warning: the basepoint needs to be in the upper left corner for positioning to work properly.
 * 1) !/usr/bin/env python
 * 2) -*- coding: utf-8  -*-

""" Enlarge2Page.py
 * 1) Enlarge2Page.py
 * 2) this version 2011.03.26
 * 3) enlarges a selected object to the
 * 4) size of the page

(c) 2011 Gregory Pittman

A devilishly simple script (there are more lines for detecting errors than for actually manipulating the object) which enlarges a single selected object to size of the page and positions it at 0,0.

Assumes a basepoint in the upper left corner. Error detection for no selected frame or more than one. Page units do not matter.

"""

import scribus

if scribus.haveDoc: if scribus.selectionCount == 0: scribus.messageBox('Scribus - Script Error',           "There is no object selected.\nPlease select one and try again.",            scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2) if scribus.selectionCount > 1: scribus.messageBox('Scribus - Script Error',           "You have more than one object selected.\nPlease select only one and try again.",            scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2)

xdimension, ydimension = scribus.getPageSize selectedframe = scribus.getSelectedObject scribus.sizeObject(xdimension, ydimension, selectedframe) scribus.moveObjectAbs(0, 0, selectedframe) scribus.redrawAll

Enlarge2Margins
But what if you want to enlarge to the margins instead, and you've already created an object, edited, and you don't want to start all over? Enlarge2Margins.py is your answer.


 * 1) !/usr/bin/env python
 * 2) -*- coding: utf-8  -*-
 * 3) Enlarge2Margins.py
 * 4) this version 2011.03.26
 * 5) enlarges a selected object to the
 * 6) size of the margins

""" Enlarge2Margins.py

(c) 2011 Gregory Pittman

A devilishly simple script (there are more lines for detecting errors than for actually manipulating the object) which enlarges a single selected object to size of the margins and positions it appropriately.

Assumes a basepoint in the upper left corner. Error detection for no selected frame or more than one. Page units do not matter. """ import scribus

if scribus.haveDoc: if scribus.selectionCount == 0: scribus.messageBox('Scribus - Script Error',"There is no object selected.\nPlease select one and try again.",            scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2) if scribus.selectionCount > 1: scribus.messageBox('Scribus - Script Error',"You have more than one object selected.\nPlease select only one and try again.",             scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2) xdimension, ydimension = scribus.getPageSize top,left,right,bottom = scribus.getPageMargins selectedframe = scribus.getSelectedObject scribus.sizeObject((xdimension - left - right), (ydimension - top - bottom), selectedframe) scribus.moveObjectAbs(left, top, selectedframe) scribus.redrawAll

Enlarge2Page_v2.py
Of course we can combine the two and then have a script that lets us choose between page or margins. Also note that if you change your mind after you run the script, just run it again and change the choice.


 * 1) !/usr/bin/env python
 * 2) -*- coding: utf-8  -*-
 * 3) Enlarge2Page_v2.py
 * 4) this version 2011.03.26
 * 5) enlarges a selected object to the
 * 6) size of the page

"""

Enlarge2Page_v2.py

(c) 2011 Gregory Pittman

A simple script which enlarges a single selected object to size of the page or margins and positions it at the upper right corner of the chosen feature.

Assumes a basepoint in the upper left corner. Error detection for no selected frame or more than one. Page units do not matter. """

import scribus

if scribus.haveDoc: if scribus.selectionCount == 0: scribus.messageBox('Scribus - Script Error',"There is no object selected.\nPlease select one and try again.",            scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2) if scribus.selectionCount > 1: scribus.messageBox('Scribus - Script Error',"You have more than one object selected.\nPlease select only one and try again.",             scribus.ICON_WARNING, scribus.BUTTON_OK) sys.exit(2) xdimension, ydimension = scribus.getPageSize top,left,right,bottom = scribus.getPageMargins selectedframe = scribus.getSelectedObject enlargesize = scribus.valueDialog('Page or Margin?','Enlarge object to:\n(Anything other than default chooses margins)','page') if (enlargesize == 'page'): scribus.sizeObject(xdimension, ydimension, selectedframe) scribus.moveObjectAbs(0, 0, selectedframe) else: scribus.sizeObject((xdimension - left - right), (ydimension - top - bottom), selectedframe) scribus.moveObjectAbs(left, top, selectedframe) scribus.redrawAll

Some Examples
These images are each of a full page (US Letter).