It is available for Linux, Unix-like, Mac OS X, OS/2, and Microsoft Windows. Known for its broad set of page layout features, it is comparable to leading non-free applications such as Adobe PageMaker, PagePlus, QuarkXPress or Adobe InDesign.
Scribus is designed for flexible layout and typesetting and the ability to prepare files for professional quality image setting equipment. It can also create animated and interactive PDF presentations and forms. Example uses include writing small newspapers, brochures, newsletters, posters and books.
Scribus comes with a broad set of page layout features and functionality. One feature missing is to replace text with data dynamically. This kind of feature you may already know as the typical mail merge functionality in your preferred office application.
Scribus Generator fills this lack of functionality. Scribus Generator in general is an extension to replace text with data to automatic generated files (e.g. SLA, PDF).
Scribus Generator is implemented as a Python script. It simply can be started by choosing the script (
The script can be placed anywhere on the local machine. It can also be placed where the default extension scripts are located. For example on Windows platform the location would be
Create and design your Scribus file as any other. At the positions where you need to replace text with data, just add %VAR_name% where name is the column in the data table.
You can place the variable at any position within a Text Frame. Apply all format and style to the variable as it would be the concerning original text.
Illustration 1: Scribus File
Scribus Generator expects a CSV file (Comma Separated Values), which is very simple to create. Open a spread sheet editor, enter the data and save/export as CSV. UTF-8 encoding is recommended.
Illustration 2: Data File
As you can see, the columns have the same name as variables (%VAR_name%) referenced in the Sribus file you have designed.
In the dialog you can configure the input and output settings for Scribus Generator.
Illustration 3: Input and Output Settings
Images can also be referenced so they dynamically will be rendered with Scribus Generator. All images supported by Scribus can be used. However, there are preconditions:
Add an Image Frame anywhere in the Scribus file («Scribus → Insert → Insert Image Frame») and open the dialog for getting an image (e.g. right click Image Frame → Get Image... on selected frame). Within the dialog navigate to the folder containing the images, though there won't be any images selected. Instead, the variable will be inserted into the value field of the File name.
Illustration 4: Insert variable instead of image
After confirming the dialog, there isn't displayed a picture in the Image Frame, however the variable name can be seen.
Illustration 5: Image Frame containing variable
The images can be defined as any other variable described in previous sections. There just has to be a column with column-name corresponding to variable-name in the Scribus file.
Illustration 6: Data file referencing images
If possible use plain characters (Ascii) for variable names and do not use whitespaces and other special characters (like '&'). E.g. use %VAR_first_name% and %VAR_zip_code% instead of %VAR_first name% and %VAR_&zip#code%.
Note: This is only important for variable names in the scribus file and column names of the data file. The data FIELDS (the rows of the CVS) of course may contain ANY characters.
The MIT License