Scribus Generator

From Scribus Wiki
Jump to: navigation, search
This article is part of the Scripts series.

Mail-merge in Scribus: high quality PDFs from Excel / OpenOffice / CSV

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 is often known as the mail merge functionality in your favourite office application.

Scribus Generator provides this functionality i. It allows you to:

  • replace texts dynamically
  • replace images dynamically
  • change colors, position, text font or size dynamically
  • generate separate PDF (or Scribus) files for each data entry, or a single file from all your data
  • work directly in Scribus with a nice user interface, or from the command line
  • use any data source (Excel, OpenOffice, MySQL, Notepad, ...) that can export to CSV.
  • and much more...

Generally speaking it replaces some of your text with (external) data, to automatically generate files (e.g. SLA, PDF). It has been originally written by Ekkehard Will and further extended by Berteh.

A short how to video introduces this Scribus Generator. 6 first minutes for the basic overview, 12 last for some more advanced features.

Scribus Generator can be started from the Menu «Scribus → Script → Execute Script» (choose ````), or used from the command line. It is implemented as a Python script.

Download the script and uncompress it anywhere on your machine. It's ready to be used!

Download and documentation

For further information and download of the current version, please visit Scribus Generator and search the resolved issues

Many settings are available, as you can see in the interface screenshot below. Find them all in the documentation.

Scribus Generator Interface


The original Scribus Generator is still available online at:

The new Scribus Generator integrates various improvements such as:

  • merge the output in a single file
  • support linked frames for continuous text flow
  • run Scribus Generator from the command-line
  • use custom CSV field delimiters (thanks Martin Zaske)
  • generate only for a subset of your data, great for quickly testing your template (thanks Bjarne Svanberg)
  • dynamically modify any element in Scribus (line width, shape colors, element position, size, rotation, text font, text size,...)
  • and much more.

Feel free to join the effort or submit your requests on the issue tracker.