Scribus Scripter API Documentation Documentation

Similar documents
How to Prepare Your Cards for Press Using Scribus

How to Prepare Your Cards for Press Using Scribus

Creating PDF Files: QuarkXPress 7 thru 10 Mac

Working with Quark Xpress. Compatible with versions 5, 6 and 7

Roman Numeral Converter Documentation

TPS Documentation. Release Thomas Roten

Press-Ready Cookbook Page Guidelines

chatterbot-weather Documentation

Exporting PDF files from QuarkXpress 7.x

sainsmart Documentation

Pyxis Imposed Features

L E S S O N 2 Background

Setting up Acrobat Distiller 9

A Step-by-step guide to creating a Professional PowerPoint Presentation

DIRECTSMILE DOCUMENT AND COMPOSITION MARKUP LANGUAGE (VERSION 1.0)

Text PDF Submission Guidelines

User Manual Version 1.1 January 2015

About This Manual. How to use this operation manual. Symbols. Trademarks. Software copyright. Regarding this manual. Introduction

Welcome to CreateSpace. Please log in, or if you're a new user, create a new account.

To learn how to use Focus in Pix:

User's Guide Album Express 7

DESKTOP PUBLISHING FOR PRINT PRODUCTION PRACTICAL

JoUp Acrobat 7.0. Imposition software for Adobe Acrobat Professional. JoLauterbach Software GmbH Stolzingstraße 4a Bayreuth Germany

User Manual of VeryDOC Advanced PDF Tools User Handbook

GETTING STARTED TABLE OF CONTENTS

Python wrapper for Viscosity.app Documentation

Guide. Use Design Space Edit Bar? How Do I. Let s Start. Editing Images. Design Space Edit Bar Tutorial 1/13

Python Project Example Documentation

Ad Creation Guide. Table of Contents

Quick Specifications and Info for Print Books

How to Prepare Your Cards for Press Using InDesign

Basic Concepts. Launching MultiAd Creator. To Create an Alias. file://c:\documents and Settings\Gary Horrie\Local Settings\Temp\~hh81F9.

v Annotation Tools GMS 10.4 Tutorial Use scale bars, North arrows, floating images, text boxes, lines, arrows, circles/ovals, and rectangles.

I2C LCD Documentation

Poetaster. Release 0.1.1

Application Tutorial

Django-CSP Documentation

lazy-object-proxy Release 1.3.1

Adobe Illustrator CC 2018 Tutorial

Python simple arp table reader Documentation

Python Schema Generator Documentation

Exporting PDF files from QuarkXpress 7.x

Python Finite State Machine. Release 0.1.5

Hot Desking Application Web Portals Integration

gunny Documentation Release David Blewett

Quick Specifications and Info for Print Books

Creating Interactive PDF Forms

FDA Portable Document Format (PDF) Specifications

What can Word 2013 do?

Microsoft Office Word 2016 for Mac

hdalbum User Designer Guide Collect Create Share Designer V 1.2

Designer Reference 1

Creating Special Effects with Text

Aircrack-ng python bindings Documentation

How to Create PDF Files for Quebecor World Midland. 2.0 Revised 03/05/04

Multimedia web page Board

google-search Documentation

EssEntial indesign skills Brought to you By InDesign

Quite Imposing Plus 4 (QI+4)

Lay-out formatting Cinema 4d Dialog (R13) For this tutorial I used

Correcting Grammar as You Type

django-reinhardt Documentation

PrimoPDF Enterprise User Guide, Version 5.0

Simple Binary Search Tree Documentation

Release Notes Color Controller E-41A, version 1.1

Simple libtorrent streaming module Documentation

Both transferring content to a template or re-formatting an existing Word document are similar in terms of time and effort.

Customer Release Notes Color Controller E-22B/E-22C, version 1.1

Correcting Grammar as You Type. 1. Right-click the text marked with the blue, wavy underline. 2. Click the desired option on the shortcut menu.

CPM-200 User Guide For Lighthouse for MAX

Redis Timeseries Documentation

Exercise III: Creating a Logo with Illustrator CS6

Do It Yourself Website Editing Training Guide

PDF to Print File Preparation

AutoPagex Plug-in User s Manual

xmljson Documentation

The MathWorks - MATLAB Digest June Exporting Figures for Publication

Software User's Guide

Keynote Basics Website:

InDesign Style Sheet Panel

Creating Business Cards With LibreOffice

Converting Your PDFs to Excel

PrimoPDF User Guide, Version 5.0

Index. Smart Image Processor PHP 2 Manual DMXzone.com

How to Create a Prepress-Quality PDF Using General PC Applications

InDesign ACA Certification Test 50 terms hollymsmith TEACHER

READ THE INSTRUCTIONS BELOW BEFORE SUBMITTING YOUR FILES!!!

Submission Guideline Checklist

PSD to Mobile UI Tutorial

Black & White Graphic Novel Guide

pydrill Documentation

InDesign Tools Overview

Pykemon Documentation

tilia Griffin Pro Enfocus Switch App User Guide Version 1

Release Nicholas A. Del Grosso

Getting Started with Eric Meyer's CSS Sculptor 1.0

Poulpe Documentation. Release Edouard Klein

PyCRC Documentation. Release 1.0

Converting Postscript files to PDF...12

How to make and deliver Components for One-Stop-Games

Transcription:

Scribus Scripter API Documentation Documentation Release version 1.5 Jain Basil Aliyas Jun 21, 2017

Contents 1 Scripter2 API Specification 3 2 Tutorials 13 3 Python Scripts 15 4 Frequently Asked Questions 17 5 Indices and tables 19 i

ii

Scribus is an Open Source program that brings professional page layout to Linux/UNIX, Mac OS X, OS/2 Warp 4/eComStation and Windows desktops with a combination of press-ready output and new approaches to page design. Underneath a modern and user-friendly interface, Scribus supports professional publishing features, such as color separations, CMYK and Spot Color support, ICC color management, and versatile PDF creation. Scripter2 is newly developed Scripting Engine for Scribus which enables experienced users to develop python scripts to perform custom operations like generation of table of contents, barcode or more. Contents 1

2 Contents

CHAPTER 1 Scripter2 API Specification Scripter class Scripter Scripter serves as the entry point to Scripting Engine of Scribus. It provides necessary methods to create new document, open an existing document etc., as documented in this section. Scripter Attributes Scripter.activeDocument Instance of active document. Scripter.activeWindow Instance of active scribus window. Scripter Methods Scripter.openDocument(docName) Open an existing scribus document. DocumentAPI class DocumentAPI DocumentAPI provides properties and methods needed to interact with a Scribus document. An instance of DocumentAPI may be obtained from Scripter, for eg. document = Scripter.activeDocument 3

DocumentAPI Attributes DocumentAPI.name Read the name of current document.: print document.name This will be empty for a new document. DocumentAPI.available Returns True if the document is available, else False.: document = Scripter.activeDocument document.available True DocumentAPI.margins Return an object of type Margins DocumentAPI.modified This attribute is used to check whether the document is modified or not. It can also be used to set a document as modified.: doc = Scripter.activeDocument doc.modified False doc.modified = True doc.modified True DocumentAPI.activePage DocumentAPI.pageCount DocumentAPI.activeItem DocumentAPI.dimensions DocumentAPI.items DocumentAPI.selection DocumentAPI.selectionCount DocumentAPI.colors DocumentAPI.layers DocumentAPI.masterPages DocumentAPI.styles DocumentAPI Methods DocumentAPI.close() Closes a document. Returns True is successful, else return False. 4 Chapter 1. Scripter2 API Specification

document = Scripter.activeDocument document.close() True DocumentAPI.save() Saves the current document, and return True is successful. If the document is a new one (i.e., you are trying to save it for the first time), calling this function will result in invocation of Save As dialog, where you can enter the name for your document. document = Scripter.activeDocument document.save() True DocumentAPI.saveAs(name) DocumentAPI.setInformation(author, title, description) DocumentAPI.newLayer(name) DocumentAPI.removeLayer(name) DocumentAPI.getActiveLayer() Make it property DocumentAPI.setActiveLayer(name) Make it property DocumentAPI.getActiveLayerName() Make it property DocumentAPI.newColorCMYK(c, m, y, k) DocumentAPI.newColorRGB(r, g, b) DocumentAPI.getColor(name) Make it property DocumentAPI.supportedImageTypes() DocumentAPI.exportAsImages(directoryName, scale, quality, dpi, overwrite) Margins class Margins Margins represents the margins of a document. Margins Attributes Margins.top This attribute is used to read/write the top margin of the document.: document = Scripter.activeDocument margins = document.margins margins.top 40.0 margins.top = 60 1.3. Margins 5

margins.top 60.0 Margins.bottom This attribute is used to read/write the bottom margin of the document.: document = Scripter.activeDocument margins = document.margins margins.bottom 40.0 margins.bottom = 60 margins.bottom 60.0 Margins.right This attribute is used to read/write the right margin of the document. document = Scripter.activeDocument margins = document.margins margins.right 40.0 margins.right = 60 margins.right 60.0 Margins.left This attribute is used to read/write the left margin of the document. document = Scripter.activeDocument margins = document.margins margins.left 40.0 margins.left = 60 margins.left 60.0 Margins Methods Margins.set(left, top, bottom, right) set() is used to set the margins of a document. All the parameters are of type float. LayerAPI class LayerAPI LayerAPI represents a layer in Scribus document. The operations on a layer can be achieved through this class. 6 Chapter 1. Scripter2 API Specification

LayerAPI Attributes LayerAPI.name LayerAPI.id LayerAPI.level LayerAPI.printable LayerAPI.viewable LayerAPI.editable LayerAPI.flowControl LayerAPI.outlineMode LayerAPI.transparency LayerAPI.blendMode LayerAPI.active LayerAPI.items ItemAPI class ItemAPI ItemAPI represents an item in Scribus document. TextAPI and ScribusImageItem are inherited from this class to provide more specific attributes and methods to it. All the attributes and methods of ItemAPI are applicable to TextAPI and ImageAPI. ItemAPI Attributes ItemAPI.itemName ItemAPI.fillColor ItemAPI.lineColor ItemAPI.fillShade ItemAPI.lineShade ItemAPI.fillTransparency ItemAPI.lineTransparency ItemAPI.locked ItemAPI.sizeLocked ItemAPI.flipVertical ItemAPI.flipHorizontal ItemAPI.lineWidth ItemAPI.customLineStyle ItemAPI.startArrowIndex ItemAPI.endArrowIndex 1.5. ItemAPI 7

ItemAPI.printEnabled ItemAPI.xPos ItemAPI.yPos ItemAPI.width ItemAPI.height ItemAPI.rotation ItemAPI.reversed ItemAPI.cornerRadius ItemAPI.columnGap ItemAPI.columns ItemAPI Methods ItemAPI.move(dx, dy) ItemAPI.moveAbs(x, y) ItemAPI.rotate(rotation) ItemAPI.rotateAbs(rotation) ItemAPI.resize(width, height) TextAPI class TextAPI TextAPI inherits ItemAPI. It adds attributes and methods that are specific to Text Items in a Scribus document. TextAPI Attributes TextAPI.font Used to get/set the font of text frame. textitem.font u'arial Regular' textitem.font = "Times New Roman Regular" TextAPI.fontSize Used to get/set the font size of text frame. textitem.fontsize 12.0 textitem.fontsize = 18.0 TextAPI.text Used to get/set the text in text frame. 8 Chapter 1. Scripter2 API Specification

textitem.text u'this is a sample text' textitem.text = "Sample text has been changed" Note that using this function to set text content will erase the existing content in text frame. TextAPI.textLines Used to get the number of lines in the content of text frame. textitem.textlines 1 TextAPI.textLength Used to get the length of text content in the frame. textitem.textlength 28 TextAPI.lineSpacing Used to get/set the linespacing for text frame. textitem.linespacing 15.0 textitem. linespacing = 16.0 TextAPI.distances Used to get the text distances of the frame. It will return a list. textitem.distances [0.0, 0.0, 0.0, 0.0] TextAPI.deleteText Used to delete the text in a text frame. textitem.deletetext TextAPI.traceText Used to trace the text frame. textitem.tracetext True TextAPI.hyphenate TextAPI.dehyphenate TextAPI.PDFBookMark 1.6. TextAPI 9

TextAPI Methods TextAPI.insertText(text, position) TextAPI.setLineSpacing(mode) TextAPI.setDistances(left, right, top, bottom) TextAPI.setTextColor(color) TextAPI.setTextStroke(color) TextAPI.setTextScalingV(value) TextAPI.setTextScalingH(value) TextAPI.setTextShade(shade) TextAPI.selectText(start, selectcount) TextAPI.linkToTextFrame(name) TextAPI.unLinkTextFrames() ImageAPI class ImageAPI ImageAPI is used to access an Image Item in a Scribus document. It inherits the attributes and methods of ItemAPI, along with the following Attributes and Methods. ImageAPI Attributes ImageAPI.xScale Used to read/write the Image Scale along X Axis. print imageitem.xscale #reading the xscale 1.0 imageitem.xscale = 0.5 #setting the value of xscale ImageAPI.yScale Used to read/write the Image Scale along Y Axis. print imageitem.yscale #reading the yscale 1.0 imageitem.yscale = 2.0 #setting the value of yscale ImageAPI.xOffset Used to read/write the Image Offset along X Axis. print imageitem.xoffset #reading the xoffset 0.0 imageitem.xoffset = 2.0 #setting the value of xoffset ImageAPI.yOffset Used to read/write the Image Offset along Y Axis. 10 Chapter 1. Scripter2 API Specification

print imageitem.yoffset #reading the yoffset 0.0 imageitem.yoffset = 2.0 #setting the value of yoffset ImageAPI Methods ImageAPI.load(filename) Load an image into the Image Frame. Parameters filename name of the image file to be loaded into the image frame. imageitem.load("/users/scribus/logo.jpg") ImageAPI.scale(x, y) Set the scaling of loaded image. Parameters x Set the scaling along X Axis. y Set the scaling along Y Axis. ImageAPI.offset(x, y) Set the offsets of loaded image. Parameters x Set the offset along X Axis. y Set the offset along Y Axis. ImageAPI.setBrightness(amount) Set the brightness of the loaded image. imageitem.setbrightness(100) ImageAPI.setGrayscale() Set the loaded image to Grayscale. imageitem.setgrayscale() ImageAPI.scaleToFrame(scale, proportional) Scale the loaded image to image frame. Parameters scale Set True for scaletoframe. proportional Set True for scaling proportionally. imageitem.scaletoframe(true, True) 1.7. ImageAPI 11

12 Chapter 1. Scripter2 API Specification

CHAPTER 2 Tutorials 13

14 Chapter 2. Tutorials

CHAPTER 3 Python Scripts Add a menu to Scribus MenuBar The following script will add a new menu to Scribus MainWindow menubar.: # -*- coding: utf-8 -*- from future import with_statement from PyQt4.QtGui import qapp, QMenu, QAction def add_test(): menubar = Scripter.dialogs.mainWindow.qt.menuBar() item_action = None for action in menubar.actions(): if action.text() == "&View": item_action = action menubar.insertmenu(item_action, QMenu("&TTest", menubar)) def run(): add_test() run() 15

16 Chapter 3. Python Scripts

CHAPTER 4 Frequently Asked Questions How to submit scripts and tutorials to this documentation? Scripter documentation is generated using Sphinx documentation system, and is maintained in Github Repository. You may fork this repository, add your submissions and commit it to your forked repository. To submit to Scribus Scripter official documentation, you should submit a pull request to official git repository (repository from which you forked). Moderators will evaluate your script/tutorial and add it to official documentation, if valid. Repository Details Official Repository (Maintained by Jain Basil Aliyas) <http://github.com/jainbasil/scripter-doc> 17

18 Chapter 4. Frequently Asked Questions

CHAPTER 5 Indices and tables genindex modindex search 19

20 Chapter 5. Indices and tables

Index A active (LayerAPI attribute), 7 activedocument (Scripter attribute), 3 activeitem (DocumentAPI attribute), 4 activepage (DocumentAPI attribute), 4 activewindow (Scripter attribute), 3 available (DocumentAPI attribute), 4 B blendmode (LayerAPI attribute), 7 bottom (Margins attribute), 6 C close() (DocumentAPI method), 4 colors (DocumentAPI attribute), 4 columngap (ItemAPI attribute), 8 columns (ItemAPI attribute), 8 cornerradius (ItemAPI attribute), 8 customlinestyle (ItemAPI attribute), 7 D dehyphenate (TextAPI attribute), 9 deletetext (TextAPI attribute), 9 dimensions (DocumentAPI attribute), 4 distances (TextAPI attribute), 9 DocumentAPI (built-in class), 3 E editable (LayerAPI attribute), 7 endarrowindex (ItemAPI attribute), 7 exportasimages() (DocumentAPI method), 5 F fillcolor (ItemAPI attribute), 7 fillshade (ItemAPI attribute), 7 filltransparency (ItemAPI attribute), 7 fliphorizontal (ItemAPI attribute), 7 flipvertical (ItemAPI attribute), 7 flowcontrol (LayerAPI attribute), 7 font (TextAPI attribute), 8 fontsize (TextAPI attribute), 8 G getactivelayer() (DocumentAPI method), 5 getactivelayername() (DocumentAPI method), 5 getcolor() (DocumentAPI method), 5 H height (ItemAPI attribute), 8 hyphenate (TextAPI attribute), 9 I id (LayerAPI attribute), 7 ImageAPI (built-in class), 10 inserttext() (TextAPI method), 10 ItemAPI (built-in class), 7 itemname (ItemAPI attribute), 7 items (DocumentAPI attribute), 4 items (LayerAPI attribute), 7 L LayerAPI (built-in class), 6 layers (DocumentAPI attribute), 4 left (Margins attribute), 6 level (LayerAPI attribute), 7 linecolor (ItemAPI attribute), 7 lineshade (ItemAPI attribute), 7 linespacing (TextAPI attribute), 9 linetransparency (ItemAPI attribute), 7 linewidth (ItemAPI attribute), 7 linktotextframe() (TextAPI method), 10 load() (ImageAPI method), 11 locked (ItemAPI attribute), 7 M Margins (built-in class), 5 margins (DocumentAPI attribute), 4 masterpages (DocumentAPI attribute), 4 21

modified (DocumentAPI attribute), 4 move() (ItemAPI method), 8 moveabs() (ItemAPI method), 8 N name (DocumentAPI attribute), 4 name (LayerAPI attribute), 7 newcolorcmyk() (DocumentAPI method), 5 newcolorrgb() (DocumentAPI method), 5 newlayer() (DocumentAPI method), 5 O offset() (ImageAPI method), 11 opendocument() (Scripter method), 3 outlinemode (LayerAPI attribute), 7 P pagecount (DocumentAPI attribute), 4 PDFBookMark (TextAPI attribute), 9 printable (LayerAPI attribute), 7 printenabled (ItemAPI attribute), 7 R removelayer() (DocumentAPI method), 5 resize() (ItemAPI method), 8 reversed (ItemAPI attribute), 8 right (Margins attribute), 6 rotate() (ItemAPI method), 8 rotateabs() (ItemAPI method), 8 rotation (ItemAPI attribute), 8 S save() (DocumentAPI method), 5 saveas() (DocumentAPI method), 5 scale() (ImageAPI method), 11 scaletoframe() (ImageAPI method), 11 Scripter (built-in class), 3 selection (DocumentAPI attribute), 4 selectioncount (DocumentAPI attribute), 4 selecttext() (TextAPI method), 10 set() (Margins method), 6 setactivelayer() (DocumentAPI method), 5 setbrightness() (ImageAPI method), 11 setdistances() (TextAPI method), 10 setgrayscale() (ImageAPI method), 11 setinformation() (DocumentAPI method), 5 setlinespacing() (TextAPI method), 10 settextcolor() (TextAPI method), 10 settextscalingh() (TextAPI method), 10 settextscalingv() (TextAPI method), 10 settextshade() (TextAPI method), 10 settextstroke() (TextAPI method), 10 sizelocked (ItemAPI attribute), 7 startarrowindex (ItemAPI attribute), 7 styles (DocumentAPI attribute), 4 supportedimagetypes() (DocumentAPI method), 5 T text (TextAPI attribute), 8 TextAPI (built-in class), 8 textlength (TextAPI attribute), 9 textlines (TextAPI attribute), 9 top (Margins attribute), 5 tracetext (TextAPI attribute), 9 transparency (LayerAPI attribute), 7 U unlinktextframes() (TextAPI method), 10 V viewable (LayerAPI attribute), 7 W width (ItemAPI attribute), 8 X xoffset (ImageAPI attribute), 10 xpos (ItemAPI attribute), 8 xscale (ImageAPI attribute), 10 Y yoffset (ImageAPI attribute), 10 ypos (ItemAPI attribute), 8 yscale (ImageAPI attribute), 10 22 Index