def main(argv):
    """A simple scripts to set baseline grid and matching guides."""

    CurrentUnit = scribus.getUnit() 
    
    scribus.setUnit(0) 
    H_Guides = [] 
    
    GuideHeight = float(scribus.valueDialog('Set BaseLine Grid & Guides', 'Enter value for Grid and Guide Height (pt).', '14.40') )
    GuideOffset = float(scribus.valueDialog('Set Grid & Guide Offsets', 'Enter value for Grid and Guide Offset (pt).', '0.0') )
    
    PageWidth, PageHeight = scribus.getPageSize() 
    
    NumLoops = math.floor(1 + (PageHeight - GuideOffset) / GuideHeight)
    
    for i in range(int(NumLoops)):
    	if i > 0:
    		H_Guides.append(GuideOffset + i * GuideHeight)
    
    scribus.setBaseLine(GuideHeight, GuideOffset)
    scribus.setHGuides(scribus.getHGuides() + H_Guides)
    
    scribus.setUnit(CurrentUnit)
    
    scribus.messageBox('Script', '<h3>Script by ugajin</h3><p>Thanks a bunch for using setBaselineGuides and Scribus!</p><p>[email protected]</p>', scribus.ICON_INFORMATION, scribus.BUTTON_OK, scribus.BUTTON_CANCEL)
def main(argv):
    """A simple scripts to set baseline grid and matching guides."""

    CurrentUnit = scribus.getUnit()

    scribus.setUnit(0)
    H_Guides = []

    GuideHeight = float(
        scribus.valueDialog('Set BaseLine Grid & Guides',
                            'Enter value for Grid and Guide Height (pt).',
                            '14.40'))
    GuideOffset = float(
        scribus.valueDialog('Set Grid & Guide Offsets',
                            'Enter value for Grid and Guide Offset (pt).',
                            '0.0'))

    PageWidth, PageHeight = scribus.getPageSize()

    NumLoops = math.floor(1 + (PageHeight - GuideOffset) / GuideHeight)

    for i in range(int(NumLoops)):
        if i > 0:
            H_Guides.append(GuideOffset + i * GuideHeight)

    scribus.setBaseLine(GuideHeight, GuideOffset)
    scribus.setHGuides(scribus.getHGuides() + H_Guides)

    scribus.setUnit(CurrentUnit)

    scribus.messageBox(
        'Script',
        '<h3>Script by ugajin</h3><p>Thanks a bunch for using setBaselineGuides and Scribus!</p><p>[email protected]</p>',
        scribus.ICON_INFORMATION, scribus.BUTTON_OK, scribus.BUTTON_CANCEL)
def setGuidesRow(n, gap):
    print "setGuidesRow should be a scribus API function"
    (margin_top, margin_left, margin_right, margin_bottom) = scribus.getPageNMargins(scribus.currentPage())
    (width, height) = scribus.getPageNSize(scribus.currentPage())
    cell_height = (height - (margin_top + margin_bottom) - (gap * (n - 1))) / n
    guide = []
    previous_guide = margin_top
    for i in range(0, n - 1):
        guide.append(previous_guide + cell_height)
        guide.append(previous_guide + cell_height + gap)
        previous_guide = previous_guide + cell_height + gap
    scribus.setHGuides(guide)
Esempio n. 4
0
def setGuidesRow(n, gap):
    print "setGuidesRow should be a scribus API function"
    (margin_top, margin_left, margin_right,
     margin_bottom) = scribus.getPageNMargins(scribus.currentPage())
    (width, height) = scribus.getPageNSize(scribus.currentPage())
    cell_height = (height - (margin_top + margin_bottom) - (gap * (n - 1))) / n
    guide = []
    previous_guide = margin_top
    for i in range(0, n - 1):
        guide.append(previous_guide + cell_height)
        guide.append(previous_guide + cell_height + gap)
        previous_guide = previous_guide + cell_height + gap
    scribus.setHGuides(guide)
def setGuidesRow(n, gap):
    print "setGuidesRow should be a scribus API function"
    (margin_top, margin_left, margin_right, margin_bottom) = scribus.getPageNMargins(scribus.currentPage())
    print "left " + str(margin_left)
    print "right " + str(margin_right)
    (width, height) = scribus.getPageNSize(scribus.currentPage())
    print "width " + str(width)
    print "height " + str(height)
    cell_width = (width - (margin_left + margin_right) - (gap * (n - 1))) / n
    print cell_width
    guide = []
    previous_guide = margin_left
    for i in range(0, n - 1):
        guide.append(previous_guide + cell_width)
        guide.append(previous_guide + cell_width + gap)
        previous_guide = previous_guide + cell_width + gap
    scribus.setHGuides(guide)
def main(argv):

    ###########################################

    info_text = '''
    Welcome to Auto-Photobook!
    
    1. Select the process mode:
        9f = creates a 9x9 layout on each page and fill them with images.
        4f = creates a 4x4 layout on each page and fill them with images.
        
        9e = creates an empty 9x9 layout on each page.
        4e = creates an empty 4x4 layout on each page.
        
        9f+4f = creates a filled 9x9 layout on odd pages and a filled 4x4 layout on even pages.
        9e+4e = creates an empty 9x9 layout on odd pages and an empty 4x4 layout on even pages.
        
        9f+4e = creates a filled 9x9 layout on odd pages and an empty 4x4 layout on even pages (default).
        9e+4f = creates an empty 9x9 layout on odd pages and a filled 4x4 layout on even pages.

    2. Select a document layout, the margins (they need to be equal) and the bleed (if needed). Ignore the number of pages.
    
    3. Define the space between the images (default: 6mm).
    
    4a. If "9f" or "4f" is in your mode, you can choose an image folder and an image filter will be prompted.
    4b. Otherwise, set the amount of pages you want to create (default: 10 pages).
    
    5. Wait until it is done...
    
    6. Adjust you layouts and move your images as you need.
    
    
    Process mode:'''

    # start dialog, choose mode

    #scribus.messageBox("Auto-Photobook", info_text)
    todo = scribus.valueDialog("Auto-Photobook", info_text, "9f+4e")
    todo = list(todo.split("+"))

    # wrong process mode
    if "9f" not in todo and "9e" not in todo and "4f" not in todo and "9e" not in todo:
        scribus.messageBox(
            "Error", "Wrong process mode. Auto-Photobook was cancelled.")
        sys.exit()

    # show new document dialog
    newdoc = scribus.newDocDialog()

    # exit if cancelled
    if newdoc == False:
        scribus.messageBox("Exit", "Auto-Photobook was cancelled.")
        sys.exit()

    if scribus.haveDoc:
        scribus.setUnit(scribus.UNIT_MILLIMETERS)
        (w, h) = scribus.getPageSize()

        ###################

        # delete all pages except the first:
        pageamount = scribus.pageCount()
        while pageamount > 1:
            scribus.deletePage(pageamount)
            pageamount = scribus.pageCount()

        # set image border and bleed
        border = int(
            scribus.valueDialog("Space between images",
                                "Define the space between the images (mm).",
                                "6"))
        #border = 6

        # reset image border for easier calculations
        border = border * 0.75

        if "9f" in todo or "4f" in todo:
            # ask for workdir
            workdir = scribus.fileDialog("Open directory with images",
                                         "",
                                         haspreview=False,
                                         issave=False,
                                         isdir=True)
            #workdir = "/media/sda7/Programming/Python/scribus_auto_photobook/pics"

            # file filter
            filefilter = scribus.valueDialog(
                "File filter",
                "File filter examples: \n\n* or *.* = add all files\n*.jpg = add .jpg files only\nIMG_*.* = add all files starting with IMG_\n\nThis filter is case sensitive!",
                "*.*")

            # get image paths
            filelist = sorted(glob.glob(os.path.join(workdir, filefilter)))
            #filelist = sorted(glob.glob(os.path.join(workdir, "*")))

            # count files
            filesinworkdir = len(filelist)
            scribus.messageBox(
                "Files in directory",
                "Images matched in folder: " + str(filesinworkdir))

            #error
            if filesinworkdir == 0:
                scribus.messageBox("Error", "This directory is empty.")
                sys.exit()

            #messagebar text
            scribus.messagebarText("Importing images...")

            #progressbar max
            scribus.progressTotal(filesinworkdir)

            # set maxpages (not needed here but needs to be assigned)
            maxpages = len(filelist)

        else:
            # ask for page amount
            maxpages = int(
                scribus.valueDialog("Set page amount",
                                    "How many pages you want to create?",
                                    "10"))

            #progressbar max
            scribus.progressTotal(maxpages)

        # get page size (without bleed)
        size = scribus.getPageSize()

        # get margins
        margins = scribus.getPageMargins()[0]

        # set page final size
        final_size = (size[0] - margins, size[1] - margins)

        # simplify calc for 9x9 layout
        guide_layout_x = final_size[0] / 3 - margins / 3
        guide_layout_y = final_size[1] / 3 - margins / 3

        # set indexes
        page = 1
        pic = 0

        #create pages, add and load images
        x = True
        while x == True:
            scribus.progressSet(page)
            scribus.gotoPage(page)

            # create 9x9 layout
            if "9f" in todo or "9e" in todo:

                #guides
                scribus.setVGuides([
                    margins + guide_layout_x - border,
                    margins + guide_layout_x + border / 2,
                    margins + guide_layout_x * 2 - border / 2,
                    margins + guide_layout_x * 2 + border
                ])
                scribus.setHGuides([
                    margins + guide_layout_y - border,
                    margins + guide_layout_y + border / 2,
                    margins + guide_layout_y * 2 - border / 2,
                    margins + guide_layout_y * 2 + border
                ])

                # create images
                scribus.createImage(margins, margins,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image1")
                scribus.createImage(margins + guide_layout_x + border / 2,
                                    margins,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image2")
                scribus.createImage(margins + guide_layout_x * 2 + border,
                                    margins,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image3")

                scribus.createImage(margins,
                                    margins + guide_layout_y + border / 2,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image4")
                scribus.createImage(margins + guide_layout_x + border / 2,
                                    margins + guide_layout_y + border / 2,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image5")
                scribus.createImage(margins + guide_layout_x * 2 + border,
                                    margins + guide_layout_y + border / 2,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image6")

                scribus.createImage(margins,
                                    margins + guide_layout_y * 2 + border,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image7")
                scribus.createImage(margins + guide_layout_x + border / 2,
                                    margins + guide_layout_y * 2 + border,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image8")
                scribus.createImage(margins + guide_layout_x * 2 + border,
                                    margins + guide_layout_y * 2 + border,
                                    guide_layout_x + border - border * 2,
                                    guide_layout_y - border,
                                    "page" + str(page) + "image9")

                #load and scale images
                if "9f" in todo:

                    try:
                        scribus.loadImage(filelist[pic],
                                          "page" + str(page) + "image1")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image1")

                        scribus.loadImage(filelist[pic + 1],
                                          "page" + str(page) + "image2")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image2")

                        scribus.loadImage(filelist[pic + 2],
                                          "page" + str(page) + "image3")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image3")

                        scribus.loadImage(filelist[pic + 3],
                                          "page" + str(page) + "image4")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image4")

                        scribus.loadImage(filelist[pic + 4],
                                          "page" + str(page) + "image5")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image5")

                        scribus.loadImage(filelist[pic + 5],
                                          "page" + str(page) + "image6")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image6")

                        scribus.loadImage(filelist[pic + 6],
                                          "page" + str(page) + "image7")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image7")

                        scribus.loadImage(filelist[pic + 7],
                                          "page" + str(page) + "image8")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image8")

                        scribus.loadImage(filelist[pic + 8],
                                          "page" + str(page) + "image9")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image9")

                    except:
                        x = False

                    # increase picture index
                    pic += 9

                # add page
                scribus.newPage(-1)
                page += 1

            # create 4x4 layout
            if "4f" in todo or "4e" in todo:

                #guides
                scribus.setVGuides(
                    [size[0] / 2 - border * 0.75, size[0] / 2 + border * 0.75])
                scribus.setHGuides(
                    [size[1] / 2 - border * 0.75, size[1] / 2 + border * 0.75])

                # create images
                scribus.createImage(margins, margins,
                                    size[0] / 2 - border * 0.75 - margins,
                                    size[1] / 2 - border * 0.75 - margins,
                                    "page" + str(page) + "image1")
                scribus.createImage(size[0] / 2 + border * 0.75, margins,
                                    size[0] / 2 - border * 0.75 - margins,
                                    size[1] / 2 - border * 0.75 - margins,
                                    "page" + str(page) + "image2")

                scribus.createImage(margins, size[1] / 2 + border * 0.75,
                                    size[0] / 2 - border * 0.75 - margins,
                                    size[1] / 2 - border * 0.75 - margins,
                                    "page" + str(page) + "image3")
                scribus.createImage(size[0] / 2 + border * 0.75,
                                    size[1] / 2 + border * 0.75,
                                    size[0] / 2 - border * 0.75 - margins,
                                    size[1] / 2 - border * 0.75 - margins,
                                    "page" + str(page) + "image4")

                #load and scale images
                if "4f" in todo:
                    try:

                        scribus.loadImage(filelist[pic],
                                          "page" + str(page) + "image1")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image1")

                        scribus.loadImage(filelist[pic + 1],
                                          "page" + str(page) + "image2")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image2")

                        scribus.loadImage(filelist[pic + 2],
                                          "page" + str(page) + "image3")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image3")

                        scribus.loadImage(filelist[pic + 3],
                                          "page" + str(page) + "image4")
                        scribus.setScaleImageToFrame(True,
                                                     proportional=True,
                                                     name="page" + str(page) +
                                                     "image4")

                    except:
                        x = False

                    # increase picture index
                    pic += 4

                # add page
                scribus.newPage(-1)
                page += 1

            #scribus.setImageOffset(0, 0, "imagename"+str(page))
            #scribus.setScaleFrameToImage(name="imagename"+str(page))

            # stop if maxpages reached
            if page > maxpages:
                x = False

        #delete last blank page
        scribus.deletePage(page)
Esempio n. 7
0
def setbleeds():
	scribus.setHGuides([document_margin,document_width-document_margin])
	scribus.setVGuides([document_margin,document_height-document_margin])
Esempio n. 8
0
def main(argv):
    unit = scribus.getUnit()
    units = ['pts', 'mm', 'inches', 'picas', 'cm', 'ciceros']
    unitlabel = units[unit]

    # get page size
    xysize = scribus.getPageSize()

    # ask for layout style
    layout_style = scribus.valueDialog("Guides Layout", layout_text, "1")
    if layout_style == "":
        sys.exit()

# 0 = erase all guides
    if layout_style == "0":
        #guides
        scribus.setVGuides([])
        scribus.setHGuides([])
        sys.exit()

# 1 = guides around page
    if layout_style == "1":
        # set guides distance
        pageguides_str = scribus.valueDialog(
            "Create Guides around Page",
            "Set distance to page borders (" + unitlabel +
            ") :\n\n- positive (e.g. 3) for page margin\n\n- negative (e.g. -3) for page bleed\n",
            "3")
        if pageguides_str != "":
            pageguides = float(pageguides_str)
        else:
            sys.exit()

        #set guides
        scribus.setVGuides(scribus.getVGuides() +
                           [pageguides, xysize[0] - pageguides])
        scribus.setHGuides(scribus.getHGuides() +
                           [pageguides, xysize[1] - pageguides])

# 2 = guides around selected object
    if layout_style == "2":
        # set guides distance
        objectguides_str = scribus.valueDialog(
            "Create Guides around selected Objects",
            "Set distance to object borders (" + unitlabel +
            ") :\n\n- 0 for around the object borders\n\n- positive (e.g. 3) towards inside the object\n\n- negative (e.g. -3) towards outside the object\n",
            "0")
        if objectguides_str != "":
            objectguides = float(objectguides_str)
        else:
            sys.exit()

        if scribus.selectionCount() == 0:
            scribus.messageBox("Error",
                               "Select an object first !",
                               icon=scribus.ICON_WARNING)
            sys.exit()

        #get selected object
        selection_name = scribus.getSelectedObject(0)
        objectpos = scribus.getPosition(selection_name)
        objectsize = scribus.getSize(selection_name)

        #set guides
        scribus.setVGuides(scribus.getVGuides() + [
            objectpos[0] + objectguides, objectpos[0] + objectsize[0] -
            objectguides
        ])
        scribus.setHGuides(scribus.getHGuides() + [
            objectpos[1] + objectguides, objectpos[1] + objectsize[1] -
            objectguides
        ])
Esempio n. 9
0
def main(argv):
    unit = scribus.getUnit()
    units = ['pts', 'mm', 'inches', 'picas', 'cm', 'ciceros']
    unitlabel = units[unit]

    #layout_style = ""
    #frame = 3
    #border = 3

    # layout style
    layout_style = scribus.valueDialog("Layout Style", layout_text, mylayout)

    if layout_style == "h":
        scribus.messageBox("Help", help_text)
        sys.exit()

    if layout_style == "v":
        createDefaultVal()
        sys.exit()
    if layout_style == "":
        sys.exit()

# frame
    frame_str = scribus.valueDialog(
        "Set Page Frame", "Set page frame size (" + unitlabel +
        ") :\n(positive for page margin,\nnegative for page bleed)\n", myframe)

    if frame_str != "":
        frame = float(frame_str)
    else:
        sys.exit()

# border
    if int(layout_style) > 1:
        border_str = scribus.valueDialog(
            "Add Image Border",
            "Add border around images (" + unitlabel + ") :\n", myborder)
        if border_str != "":
            border = float(border_str)
        else:
            sys.exit()
    else:
        border = 0

    bleed = -frame

    # get page size
    xysize = scribus.getPageSize()
    size = (xysize[0] + 2 * bleed, xysize[1] + 2 * bleed)
    #scribus.createImage(0, 0, size[0]/2, size[1]/2)

    # layouts
    # one image on two pages (put it on the left page)
    if layout_style == "0":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            (size[0] * 2) - border - bleed * 2,
                            size[1] - border)

# one image on one full page
    if layout_style == "1":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] - border * 2, size[1] - border * 2)

# two vertical images
    if layout_style == "2":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        #scribus.setHGuides([size[1]/2-border-bleed, size[1]/2+border-bleed])

# two horizontal images
    if layout_style == "22":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] - border * 2, size[1] / 2 - border * 2)

        #guides
        #scribus.setVGuides([size[0]/2-border-bleed, size[0]/2+border-bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# one vertical image left, two horizontal images right
    if layout_style == "3":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed,
                            size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# one vertical image left, two horizontal images right
    if layout_style == "33":
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] - border * 2)
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# one image on top, two images on bottom
    if layout_style == "333":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed,
                            size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# one image on top, two images on bottom
    if layout_style == "3333":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# four horizontal images
    if layout_style == "4":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed,
                            size[1] / 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# six images 3 + 3
    if layout_style == "6":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 3 + border - bleed, 0 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage((size[0] / 3) * 2 + border - bleed,
                            0 + border - bleed, size[0] / 3 - border * 2,
                            size[1] / 2 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage(size[0] / 3 + border - bleed,
                            size[1] / 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 2 - border * 2)
        scribus.createImage((size[0] / 3) * 2 + border - bleed,
                            size[1] / 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 2 - border * 2)

        #guides
        scribus.setVGuides([
            size[0] / 3 - border - bleed, size[0] / 3 - bleed + border,
            (size[0] / 3) * 2 - border - bleed,
            (size[0] / 3) * 2 + border - bleed
        ])
        scribus.setHGuides(
            [size[1] / 2 - border - bleed, size[1] / 2 + border - bleed])

# six images 2 +2 + 2
    if layout_style == "66":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed, 0 + border - bleed,
                            size[0] / 2 - border * 2,
                            (size[1] / 3) - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 3 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed,
                            size[1] / 3 + border - bleed,
                            size[0] / 2 - border * 2,
                            (size[1] / 3) - border * 2)
        scribus.createImage(0 + border - bleed,
                            (size[1] / 3) * 2 + border - bleed,
                            size[0] / 2 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 2 + border - bleed,
                            (size[1] / 3) * 2 + border - bleed,
                            size[0] / 2 - border * 2,
                            (size[1] / 3) - border * 2)

        #guides
        scribus.setVGuides(
            [size[0] / 2 - border - bleed, size[0] / 2 + border - bleed])
        scribus.setHGuides([
            size[1] / 3 - border - bleed, size[1] / 3 + border - bleed,
            (size[1] / 3) * 2 - border - bleed,
            (size[1] / 3) * 2 + border - bleed
        ])


# nine images
    if layout_style == "9":
        scribus.createImage(0 + border - bleed, 0 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 3 + border - bleed, 0 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage((size[0] / 3) * 2 + border - bleed,
                            0 + border - bleed, size[0] / 3 - border * 2,
                            size[1] / 3 - border * 2)
        scribus.createImage(0 + border - bleed, size[1] / 3 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 3 + border - bleed,
                            size[1] / 3 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage((size[0] / 3) * 2 + border - bleed,
                            size[1] / 3 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(0 + border - bleed,
                            (size[1] / 3) * 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage(size[0] / 3 + border - bleed,
                            (size[1] / 3) * 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)
        scribus.createImage((size[0] / 3) * 2 + border - bleed,
                            (size[1] / 3) * 2 + border - bleed,
                            size[0] / 3 - border * 2, size[1] / 3 - border * 2)

        #guides
        scribus.setVGuides([
            size[0] / 3 - border - bleed, size[0] / 3 - bleed + border,
            (size[0] / 3) * 2 - border - bleed,
            (size[0] / 3) * 2 + border - bleed
        ])
        scribus.setHGuides([
            size[1] / 3 - border - bleed, size[1] / 3 + border - bleed,
            (size[1] / 3) * 2 - border - bleed,
            (size[1] / 3) * 2 + border - bleed
        ])
Esempio n. 10
0
			if hasSpineBackground:
				rightBackgroundSize -=  halfWidthDiff
			scribus.sizeObject(rightBackgroundSize, Ysize, item[0])
			rightBackgroundX = PageX/2 -0.05
# Start after spine ends
			if hasSpineBackground:
				rightBackgroundX +=  newWidth/2	
			scribus.moveObjectAbs(rightBackgroundX, Y ,item[0])
		else:
			scribus.moveObject(halfWidthDiff, 0 , item[0])
		if item[0].startswith('right_top_crop'):
			newX,newY = scribus.getPosition(item[0])
			Xsize,Ysize = scribus.getSize(item[0])
			vGuides.append(newX)
			hGuides.append(newY+Ysize)
		if item[0].startswith('right_bottom_crop'):
			newX,newY = scribus.getPosition(item[0])
			hGuides.append(newY)
	if item[0].startswith('spine_logo'):
		Xsize,Ysize = scribus.getSize(item[0])
		newBookX = newWidth		
		if newWidth - 2.6 > 2:
			newBookX = newWidth - 2.6
		multiplier = newBookX/Xsize
		newBooKY = Ysize * multiplier
		scribus.sizeObject(newBookX, newBooKY, item[0])
		scribus.moveObjectAbs(PageX/2 - newBookX/2 , Y ,item[0])

scribus.setVGuides(vGuides)
scribus.setHGuides(hGuides)
def main(argv):
    unit = scribus.getUnit()
    units = ['pts','mm','inches','picas','cm','ciceros']
    unitlabel = units[unit]
    
# get page size
    pagesize = scribus.getPageSize()

    
# ask for layout style
    layout_style = scribus.valueDialog("Select Mirror", layout_text, "v")
    if layout_style == "":
        sys.exit()

        

# v = vertical mirror
    if layout_style == "v":            
        # warn and exit if no selection
        if scribus.selectionCount() == 0:
            scribus.messageBox("Error", "Select an object first!", icon=scribus.ICON_WARNING)
            sys.exit()
        
        #create mirror guides
        scribus.setVGuides(scribus.getHGuides() + [pagesize[0]/2])
        
        #get selected object
        selection_name = scribus.getSelectedObject(0)
        objectpos = scribus.getPosition(selection_name)
        objectsize = scribus.getSize(selection_name)
        
        #duplicate object
        scribus.duplicateObject(selection_name)
        
        #move object
        newobjectpos = (pagesize[0] - (objectpos[0] + objectsize[0]) , objectpos[1])
        scribus.moveObjectAbs(newobjectpos[0], objectpos[1], selection_name)
        
        #flip object
        scribus.flipObject(1,0,selection_name)

        

# h = horizontal mirror
    if layout_style == "h":            
        # warn and exit if no selection
        if scribus.selectionCount() == 0:
            scribus.messageBox("Error", "Select an object first!", icon=scribus.ICON_WARNING)
            sys.exit()
        
        #create mirror guides
        scribus.setHGuides(scribus.getHGuides() + [pagesize[1]/2])
        
        #get selected object
        selection_name = scribus.getSelectedObject(0)
        objectpos = scribus.getPosition(selection_name)
        objectsize = scribus.getSize(selection_name)
        
        #duplicate object
        scribus.duplicateObject(selection_name)
        
        #move object
        newobjectpos = (objectpos[0] , pagesize[1] - (objectpos[1] + objectsize[1]))
        scribus.moveObjectAbs(objectpos[0], newobjectpos[1], selection_name)
        
        #flip object
        scribus.flipObject(0,1,selection_name)