SolutionBase: Working with Scribus for Linux desktop publishing

Desktop publishing has long been the territory of Mac OS X workstations and, to a lesser extent, Windows machines. Jack Wallen shows you how to work with Scribus to turn your Linux workstation into a desktop publishing platform.

This article is also available as a TechRepublic download.

For just about every software category, office suites, Web browsers, or whatever, there's an open source version in existence. One category that's long been not as obvious for Linux that's long been a staple of Windows and Mac desktops is desktop publishing software. Scribus is an open-source program that brings award-winning professional page layout to Linux/Unix, MacOS X and Windows desktops with a combination of "press-ready" output and new approaches to page layout.

Scribus supports professional publishing features, such as CMYK color, separations, ICC color management and versatile PDF creation. Scribus is easy to use, powerful, and a free alternative to other very costly applications. Just how easy is Scribus to use? Let's find out.

Obtaining and installing Scribus

Even though Scribus was born as a Linux alternative to other software, there are several ports of the software. Linux, OS X, and Windows versions are all available But since this my focus is on Linux we'll stick with our favorite open-source OS. You can download Scribus directly from the Scribus Web site.

As with any piece of software you want to install, you need to make sure you meet the requirements first. For Scribus you will need:

  • Qt 3.3.0+, both the runtime libraries and development libraries. I recommend using Qt 3.3.5+. Qt =< 3.2.x is not supported.
  • Python and python-devel libraries 2.3+. You can disable Python support with configure --without-python. Python 2.2 is not supported.
  • Freetype2 2.1.7+. Due to various freetype2 bugs, we recommend, if your distribution/OS allows, to use 2.2.1+
  • libart_lgpl 2.3.10+, 2.3.17+ recommended.
  • libxml 2.6+.
  • Ghostscript 8.15+ or AFPL Ghostscript 8.54+ is highly recommended. Ubuntu users in particular are urged to update to a newer version if possible.
  • Postscript-Fonts. TrueType Fonts. Scribus also can support OpenType fonts both TrueType and Type 1 Outline OpenType Fonts in 1.1.1+.

A pretty frightening list eh? It really isn't that bad because most of the more recent distributions will have all of the above requirements. With all requirements met you are ready to install. I've run the installation on both Fedora Core and Ubuntu. Both installations were as simple as running either:

yum install scribus

on Fedora Core. Or

apt-get install scribus

on Ubuntu.

If you want to install the rpm directly on your SuSE system, go to SourceForge, grab the correct file, and run (as root):

rpm -ivh scribus-

Installing Scribus from source is no different from installing any Linux application from source. Untar (or unzip) the source package, change into the newly created directory, and run the commands (as root):



make install

Once the program is installed, launch the program with the scribus command.

Initial setup

From the Settings menu select Preferences. You'll see a listing of the various configurable options as seen in Figure A.

Figure A

You can set basic Scribus options here.

There are a few items to check here. First make sure the paths are set up correctly. With the exception of the ICC path, these are self explanatory.

ICC (International Color Consortium) profiles are simply look-up tables that describe the properties of a color-space. These profiles will work alongside hardware you are using. Say, for example, you use a particular monitor that displays the color blue a bit out of sync with what you know your printer blue to be. The proper profile will adjust these colors to match the output of your monitor so that what you are seeing on your monitor will match what you see on the printed page.

To install profiles for Scribus to use, the best bet is to download the "Windows" version of the Adobe ICC profile package and unzip it into a directory like $home/.colors/icc. Linux users can also download freely distributable profiles from the ICC Downloads section of Once you have those profiles downloaded you will then configure the ICC profiles section in the preferences window to match.

The next configuration you will want to make sure you take care of is in the Document settings under Autosave. Set this up or you could wind up really hating life after slaving away for hours (forgetting to save) and having Scribus come crashing down (along with all your work). The other configurations in this section are very much user-specific.

The next configuration I always take care of is in the Tools section. When you select the Tools section you'll notice a small subsection open up (Figure B). This new subsection allows you to select configurations for Text, Picture Frame, Shapes, Lines, and Magnification.

Figure B

Here you select configurations for Text, Picture Frame, Shapes, Lines, and Magnification.

The first section, Text, will allow you to configure your default font. Believe me, if you work like me and have thousands of fonts, you don't want to have to go through every project and select the default font for every text block. Not fun. Here you can also define default size, color, columns, and gaps for your fonts.

The next subsection, Picture Frame Properties, allows you to define Free Scaling options or Scale Picture to Frame Size options. You can also chose the Fill Color of your frames here. I always select NONE for this option because with fill color you can often wind up hiding text or other images behind your picture frames. Shading is another option to configure here. I usually keep shading at 100% and then adjust on a per-image basis as needed within a project.

The Pages section allows you to select a Side by Side page display. This is a very helpful configuration because it allows you to better see the flow of a project.

The external tools will allow you to configure which applications you use for image processing and postscript interpreter. The GIMP and GS are the respective defaults.

Finally, the last configuration you will want to deal with is your fonts. Although not actually Scribus specific, you will want to have a plethora of fonts to choose from when creating your projects. I won't get into the addition of fonts in all distributions, but the now-common method of adding fonts in Linux is to simple add the TTF file into the ~/.fonts directory (~/ being the home directory of the user), log out of your desktop environment, log back in, and restart Scribus. There you go--all your fonts conveniently picked up by Scribus.



Let's walk through the steps of creating a document with Scribus. The document we are going to set up is a professional-looking PDF for this article. It's very simple. Of course we're not going to discuss the artistic standpoint of the project creation because that is another article (or book) all together. That being said, here we go.

The first thing you must do is select New from the File menu. We will keep all of the defaults. Now, like image editing, you need to think along the lines of layers. Every page you create with Scribus will involve layers (or at least it should). The default page only includes one layer. I tend to add layers as I need them. If I know there will be text and images I automatically know that there will be at least two layers. For this page I am going to have two columns of text, a background color, and a side-bar image. Let's create our needed extra layer.

From the Tools menu select Layers and a small window will open as seen in Figure C. The default layer is called Background.

Figure C

Set layer information here.

Clicking the far left button on the bottom row will add a new layer shown in Figure D. The new layer will be called New Layer 1.

Figure D

Add a new layer by clicking the last button.

Change the name of that layer by double-clicking the New Layer 1 area and retype a descriptive name. We'll call this new layer Text as seen in Figure E.

Figure E

Change the name of the layer to something understandable.

When you're working on a document with many layers, having descriptive names for each layer will help you get around when adding or editing text/images in layers. It's a good habit to get into.

Let's add the background for the text. Since I've chosen to have two columns of text I will create two columns of color to go behind the text. First make sure the layer you are working on is the Background layer by selecting it from the layer drop-down list at the bottom of the screen. Click on the Draw Various Shapes button, highlighted in Figure F.

Figure F

The highlighted Draw Various Shapes button will allow you create any shape you want.

Now click and drag a rectangle shape that looks like the shape in Figure G. Let's change the color and shade of this shape. From the Style menu select Color and choose Blue 3. With the color chosen go to the Style menu again and select a Shade of 50%. Now you need to copy that color column--a simple [Ctrl][C]/[Ctrl][V] action will work fine.

Figure G

You can create custom columns.

When you paste the new column down you need to move it because it will appear directly over the first column. Moving objects is much easier (and more precise) if you use your arrow keys instead of the mouse. There are two ways to move objects around using your arrow keys--with and without the Shift key. If you hold the Shift key down while you click (or hold down) the appropriate arrow key the object will move at a larger increment than if you do not hold the Shift key down.

So using the arrow keys, move the second column to the right until it looks something like Figure H.

Figure H

Create a second column.

Now it's time to add some text. Before you add your text switch to the Text layer from the Layer drop-down menu. Now click on the Insert Text Frame button (three buttons to the left of the Draw Various Shapes button). Now click and drag the text frame so it's almost the same size as the far left background.

There are two ways to add text. Both require the use of the Story Editor. Click on the Story Editor button shown in Figure I. A new window will open as seen in Figure J. Within the Story Editor you can either manually type the text in, copy and paste it from a document, or open a .txt file on your computers' hard-drive. Microsoft Word .doc support is promised in upcoming releases.

Figure I

The Story Editor button highlighted here starts the Story Editor.

Figure J

The Story Editor allows you to add text.

WARNING: If the .txt file you have has any formatting it will be lost when you import it into the Scribus story editor. So when the text is imported you will have to make all the formatting changes you need.

With your text in the Story Editor you will make changes (alignment, font, font color/size, style, and tracking. Each time you make a change you have to click on the Update Text Frame button. Once you've finalized your updates close out the Story Editor.

But let's say you want to wrap your text around an image. It's simple. You'll want to remain in the same layer as your text and then click on the Insert Picture button. Once you add the picture (where you want it in relation to the text) you will then go to the Tools menu and then click on the Properties tool.

With the properties tool open click on the Shape button. In this window, seen in Figure K, check Text Flows Around Frame as well as Use Contour Line.

Figure K

You can allow text to flow around graphic images.

Now, click the Edit Shape button and a new window will appear as shown in Figure L. Check the Edit Contour Line selection and a blue line with blue dots will appear around your image.

Figure L

When blue dots appear, you can move an image around.

When you place your cursor near the contour line (sides, top, or bottom) the cursor will turn into a hand. With that hand you can then drag the contour line up, down, or out. Your purpose is to extend the contour line away from the image edge so the text will wrap away from the image edge otherwise the text will flow right up to the image edge making it difficult to read.

With the contour line editing complete, click the End Editing button and you will see the text is now given plenty of space around the image.

Saving and exporting

The last topic to touch on is saving files. Scribus saves natively as .sla files. Not many applications can read the raw date of the .sla file. Never fear, pdf is here. Scibus handles pdf exporting flawlessly.

Once your document is complete and saved in basic .sla format, click on the Save As PDF button. Within this new window, seen in Figure M, you'll need to pull a few tricks out of your sleeve to make PDFs work perfectly. The first trick to pull is to click on the Color tab. Within the color tab it is possible to configure the pdf output for either Screen/Web or Printer. If this document is to be sent to a printer, select Printer.

Figure M

Scribus can create PDFs, but you must make some changes along the way.

Next, click on Fonts tab. If you have used fonts other than your default you will want to embed them into the pdf. This will ensure that the users see the document exactly as you want them to.

Final go back to the General tab. Here the resolution, compression, pdf compatibility, rotation, binding, and file output directory are configured. Please note that the higher your resolution (and less compression) you use, the larger the file will be. I do the KyMBA (Kentucky Mountain Bike Association) newsletter that generally runs around 30 pages. Once exported to pdf this file is almost always over 30 MB in size. So configure wisely in this area.

Final words

And there you have it - an introduction to one of the most powerful and useful open-source projects out there. Scribus is capable of creating outstanding and professional documents of any length and artistic merit. Books, newsletters, instructions, you name it...Scribus can handle it. But there is so much more to this tool, so next time we will visit some of the more advanced features of Scribus. Until then, happy creating!

By Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic, The New Stack, and Linux New Media. He's covered a variety of topics for over twenty years and is an avid promoter of open source. For more news about Jack Wallen, visit his website jackwallen....