Gimp Book

GIMP Book is a script for managing multiple pages in the GIMP, it’s great for creating comic books, illustrated books, sketch books or similar. It opens a separete window with thumbnails of all your pages, where you can add, delete, sort and rename them. Once you’re done you can export your book to various formats, for web or print.

 

IMPORTANT!

Creating a comic book is a lot of work, work you don’t want to loose, so make sure you backup all your files regularly!

Download

You can download the latest version of GIMP Book here, older versions can be found here. To see what has changed between versions, look in the changelog. If you’re a developer or translator, you can get the source code at GitHub.

Installation

Unzip the .zip file, and copy the content into ~/.gimp-2.8/plug-ins/. The next time you start the GIMP, you should find it under the Windows menu. GIMP Book is written for GIMP 2.8 (but should work in 2.6) and Python 2.7. If you’re using Python 2.5, you need to install the json module manually.

Note, I’ve changed the versioning of GIMP Book to the more standard convention of major.minor.patch as of version 1.0.0. The previous version was 2014.2 rev 82.

Creating a Book

Begin by opening the GIMP, and the GIMP Book interface from the Windows>Book… menu. You’ll be presented with an empty Book window, in which you can choose File>New Book (Ctrl-N).

In the Create a New Book dialog, enter the name of your book and choose a destination folder to save it to. Select the width and height of your book, resolution, if to use color or grayscale, and a background color.

Here you can also define top, bottom and side margin guides, as well as bleed guides. These will create paths in your template page that can be used as a reference when drawing. If you set them to zero, no path are created.

When you’re happy with your setting, hit OK, and GIMP Book will create a folder at the chosen destination, with the name of your book, a couple of subfolders and a .book file.

The Template

After creating a new book, you’ll see a Template.xcf thumbnail in your Book window. This is used as a template for all new pages that you add. You can double click it to open it in the GIMP, and make any adjustments to it you like. It’s a good idea to spend some time on it, making sure the size and resolution is correct, adding a default set of layers and layergroups, adding guides and any other elements you will need on all the pages of your book. You can adjust the template at any time later, but changes to it will only affect new pages created from that point on, not existing ones.

The template is always shown as the first page of the book. It is numbered as page zero when exporting, and is not exported by default.

Saving Your Book

There is no need to save your book. When you add pages, move them around, or delete them, GIMP Book saves those changes instantly. The only thing you need to save are the individual .xcf pages, when you work on them in GIMP.

Opening an Existing Book

To open a book simply choose File>Open Book… from the Book window, and use the standard open dialog to locate your .book file. The book will open in the Book window, and you can start working on it. If thumbnails have not been generated for your book, loading it will take a short while as new thumbnails are generated.

Managing Pages

Opening a page

There are several ways to open pages in the GIMP, from GIMP Book. You can double click the page, hit the Return key with the page selected, right click it and choose Open from the pop-up menu or choose Pages>Open from the main menu. Once you’re done working on a page, simply save and close it in the GIMP. The pages thumbnail updates as soon as the GIMP Book window receives focus.

Adding a Page

To add a new page based on your template simply choose Pages>Add (Ctrl+A). You will be asked to give the page a name. Use a unique and descriptive name that helps you identify the page. Pagenumbers are added on export, so you don’t need to number your pages, unless you want to. New pages are added to the end of the book, if no page is selected, or at the selected page if one is.

Duplicating a Page

With a page selected, choose Pages>Duplicate (Ctrl+D). You will be asked to enter a name for the newly created page.

Renaming a Page

Select the page you want to rename, and choose Pages>Rename (Ctrl+R). Enter a new name, and you’re done. Make sure you don’t have the page open in the GIMP before renaming it.

Deleting a Page

To delete a page, simply select the page, and hit the Delete button. You’ll be asked to confirm that you really want to delete the page. Make sure you don’t have the page open in GIMP, before deleting it.

When you delete a page in GIMP Book, it is not deleted permanently, but moved to your_book/trash/date_pagename.xcf, in case you want to get something from it later. You can freely delete the content of your_book/trash, if you want to free up disk space.

Importing Pages

You can import pages to your book by simply choosing Pages>Import Page(s), and selecting the page(s) you want to import. This can be handy for importing scanned sketches. The pages will show up at the resolution they are in, and will ignore the template you are using. On import they are converted to .xcf files. Importing supports most of the common image file format.

While import does support .svg and .pdf, it does not display any dialog letting you chose what resolution or page to retrive from those file format. If you need to import these formats, you’re probably better of importing them manually into the GIMP first, and saving them out as .xcf files, which you can then import into GIMP Book.

Note that you can use the import feature to retrive pages you have previously deleted from you book. You can find these in [your_book]/trash/[date]_[pagename].xcf.

Sorting Pages

To reorder the pages, simply drag them around to where you want them.

Views

Stoyboard Mode

Storyboard mode toggles the page view between two column book view, and a flowing storyboard view that fills the width of the Book window. To toggle between the two modes, use the View>Storyboard Mode menu.

Read from Right to Left

Lists the pages from right to left, rather than left to right. Handy when drawing manga.

Zoom In/Out

This displays the pages at different zoom level. The first time you zoom in or out, the thumbnails are regenerated at that zoom level, which will take a few seconds, once that is done, switching zoom level should be pretty much instant.

Exporting Your Book

Once you’re finished with your book, you can export it to several different formats. To do this simply choose File>Export Book… from the menu in the Book window.

Destination Tab

At the top of the tab, you can choose the name of the folder you want to export your book to. GIMP Book will create a new folder with the name of your book at that destination, and fill it with images in the format you specify.

For naming the pages you can choose between using the name of the book (e.g. 1_My Book.jpg), the name of the pages, simply using page numbers with no name, or using a custom name that you enter in the Custom Name field.

You can choose the page range you wish to export. Page 0 is the template, which you probably don’t want to include in your export.

Layer Tags

Layer tags are used to hide or show tagged layers. It can be used for doing multi-lingual comics, to hide sketch layers, and so on. To tag a layer simply put any tag between square brackets [] in the layer name. For instance “[en] Speech Buble” or “[sketch] Car Chase”. Layers can have multiple tags, but if the tags match both hide and show, show wins.

To hide or show layers, simply enter a comma separated list of tags, without the square brackets [], in the appropriate hide or show field (e.g. “en,de,no,sketch”). On export, layers matching the tag will be hidden or shown, before exporting.

For the remining layers, that don’t match any tag, you can choose to either leave their visibility as is, hide or show them.

You can tag layer groups too in GIMP 2.7 or later. If you hide a layer group, everything within it will be hidden independently of the tag used on those layers.

Margins Tab

On export you can change the margins of your pages. This is similar to Canvas Size in GIMP, but uses relative page margins instead of width and height and an offset. Negative values, vill crop the image, while positive will make the canvas bigger. You can choose between using the background color saved in the image, black, white or a custom color, for the background when you make the image bigger.

 

Image Size Tab

The image size tab is basically the same as the standard GIMP one. You can choose width or height, as pixels or percentiles, and choose the interpolation method to use. GIMP Book uses the template for you book, to decide the aspect ratio, when choosing scale values.

File Format Tab

You can choose to export your book as a sequence of gif, xcf, jpg, ora, psd, png or tiff files. The save options for the different file formats are basically the same as in GIMP. For xcf, ora and psd, you can choose not to flatten the image, keeping layer data intact to work on the files further in other programs such as MyPaint or Krita (both of which support OpenRastar .ora).

When you’ve chosen all your export options, hit the Export Pages button, and GIMP Book will start processing your pages. This can take a short while, as each page needs to be loaded, possibly modified, and then saved out again.

GIMP Book in Your Language

GIMP Book is now available in French thanks to Patrick Depoix. On Linux, if your operating system is set to French (i.e. the LANG variable is defined as fr_FR), it will automatically show up in French. Windows unfortunately doesn’t set the LANG variable, but if you set it system wide, it should work there too.

If you would like to help out with translations, check out the ReadMe in the locale folder. I appreciate the help.

Known Bugs & Limitations

If you find additional bugs, you can register them over at GitHub, or comment below.

Behind the Scenes

If you just want to use GIMP Book, you can stop reading here. If, on the other hand, you want to know a little bit more about what it does behind the scenes, then keep reading.

The File Format

GIMP Book stores the pages of your book in a simple file structure that looks like this.

      MyBook/
      |-- MyBook.book
      |-- pages
      |   `-- Template.xcf
      |-- thumbs
      |   `-- 256
      `-- trash

All your pages and the Template are stored in the pages folder as plain .xcf files. Any pages you delete are moved to the trash folder. The thumbs folder contanis automatically generated thumbnails of your pages, at different sizes. GIMP Book only touches the xcf files on a few occassions, when adding, duplicating, renaming, deleting or importing pages.

The *.book File

The *.book file, is a simple JSON text file, that contains a list of your pages in the order they are shown. That looks like this:

    {
        "storyboardmode": 1, 
        "thumbsize": 256, 
        "pages": [
            "template.xcf", 
            "Outside the Museum.xcf", 
            "Burglar Climbing in Window.xcf", 
            "Knocing Out Security Guard.xcf"
        ]
    }

When you move pages around, all that happens is that the list of pages in the *.book file is changed. The *.book file keeps no record of pages that have been deleted. It also tracks your current zoom level (thumbsize), and if storyboardmode is enabled.

Any time you do changes, such as move, rename, add or delete a page, the *.book file is automatically updated.

25 responses to Gimp Book

  1. Thera said:

    Hey, wow, I actually came here because of interest in the Jot stuff, but this is really cool! Have you tried showing this off at webcomic communities like smackjeeves?

    Managing the pages is always a very hard part, so I’ll definitely try this out on my next project.

    • admin said:

      Didn’t know about smackjeeves, and haven’t really tried showing it around in the comics community, though I probably should. I’ve mostly just posted it to Gimp forums.

  2. Langston said:

    Hey, this seems like a fantastic plugin, but I can’t seem to get it to work. Every time I try to set the destination when I’m creating a new book, it crashes on me. I have GIMP 2.8.8 and Python 2.7.5. I’m currently on Windows 7. I know that this is a little vague, but do you have any idea what might be casing this?

    • Ragnar said:

      Thanks for letting me know. This seems to be a bug, but I’m not sure if it’s in my code og Gimp/GTK. When I first tested it in Gimp 2.8.4 on Windows 8.1, it was working correctly, but when I upgraded to Gimp 2.8.8, I got the same result as you. When I try to select a destination, the plug-in simply crashed. Strangely, this does not happen in the Linux version of Gimp 2.8.8.

      I’ve tracked it down in the code, and recreated the bug in a few lines of code, but I’m really not sure why it’s happening. I’ve sent it on to the Gimp developers mailing list, so hopefully some smarter heads than mine can figure it out. :)

      The only workaround I have for now, which admitedly is not a great workaround, is to downgrade to Gimp 2.8.4, which you can get from here.

      I’ll keep you updated here, if I figure it out.

      • Ragnar said:

        I haven’t gotten much response from the mailing list, and problem is still there with Gimp 2.8.10 on Windows.

        I did find a workaround for it. It seems the crash happens if you click any folder selector to choose a desitnation, both in the New Book and Export Book windows. The trick is to use the mopuse to open the menu, and move it to a selection, but rather than click it, you hit return on the keyboard to select it. For some reason this works fine.

        It’s not a great solution, but at least you can get the plug-in to work. Everything else seems to be working the way it should.

  3. carlo said:

    Hy i am happy to have found your site, on the gimp registry the link to download the zip is vanished , everything else is fine but there is nothing to download , neither a link to this page

    Solved for me now , i just want let you know of the vanished link on the registry page

  4. Tattorack said:

    This is a great plugin if it would work :/
    Unfortunately every time when I want to specify where the comic book needs to be saved on creation of one the plugin crashes (Gimp itself stays fine though).
    Specs:
    Packard Bell Easynote LE
    Win 8.1
    Gimp 2.8

    • Ragnar said:

      This is a bug that was introduced by some changes in GTK or PyGTK in versions of Gimp after 2.8.4 on Windows only. I’ve sent a bug report upstream, but without any response so far, and tried quickly to work around it in my own code without much luck. It’s annoying to me too, as it breaks the plug-in for Windows users, but unfortunately I haven’t had the time lately to really dig in and fix it.

      There is one way you can get around it on Windows. When using the pop-up menu for choosing destination folder (both when creating a new book and exporting), you need to click the menu to open it, but then only use the arrow keys and return to select a destination from the pop up menu. For some reason this works, while clicking to select something from the menu will crash the plug-in.

      As far as I know this bug affects Windows users only. I’ve reproduced it both under WinXP and Win8.1. I plan to find a fix for this in the future, so it’s just a question of finding some free time.

    • Ragnar said:

      This bug is now fixed!

      I wrote my way around it on Windows, so that it would no longer crash.

  5. Ben said:

    It’s crashing for me on Debian with Gimp 2.8.2 and Python 2.7.3.

    $ gimp
    Traceback (most recent call last):
    File “/home/bjh/.gimp-2.8/plug-ins/book.py”, line 70, in
    languages += DEFAULT_LANGUAGES
    NameError: name ‘languages’ is not defined

    (gimp:7117): LibGimpBase-WARNING **: gimp: gimp_wire_read(): error

    I haven’t programmed in Python in a while. Where is ‘languages’ set? I suppose I could just keep commenting out offending lines regarding internationalisation, but I’d rather the script just work.

    • Ben said:

      That said, when I grep for “language” and comment all the lines that come up, the script seems to work perfectly. Glad to see this in Gimp, and I thought you should know about this in case someone else is having problems.

      • Ragnar said:

        This has to do with detecting what language your OS is set in, so it can choose the correct translation (currently only English and French are available). For some reason, the command that gets the locale, is returning nothing, and thus not defining the languages variable. I’ll install a virtual Debian machine, and see if I can re-create the problem, and possibly fix it.

      • Ragnar said:

        I think I have this fixed now, in version 1.1.0 that I just pushed out. It had to do with locale not being set, and the $LANG environment not defined. With the update, it defaults to en_US.UTF-8, if locale is not set.

  6. rvogel said:

    I really like this plugin. I use it on Linux Mint and it works very well. I do have one request: would it be possible to add the option of bitmap to the exports? I use Potrace to trace the pages (b/w) into a svg, but it requires a bitmap. I then us Sigil to make an EPub book from the svgs. Wonderful plugin, thank you!

    • Ragnar said:

      I’ll look into it when I get the time. It shouldn’t be too hard to add .bmp support, I just didn’t think anyone was still using that format. :)

    • Ragnar said:

      I just pushed out version 1.1.0 of Gimp Book, which now supports .bmp export, so should work with Potrace.

      • rvogel said:

        Excellent! Yes, a bitmap is a little outdated and I really only ever need it for use with Potrace. This is a great piece of work on your part. I use it on both a Windows and Linux system with Gimp. Thank you!

  7. Loïc said:

    Hi, I just downloaded your plugin but it seems I have a problem with it as when I try to create a new book, I get an error message on gimp: Book warning, destination does not exist. The plugin does not crash but I am unable to create a book. I am on windows 8.1 and have the last version of gimp. THanks in advance!

    • Ragnar said:

      Hi, I just tested it with Windows 8.1, Gimp 2.8.10, and Gimp Book 1.1.0, and I was unable to recreate the error you are getting. Versions of Gimp Book from 1.0.0, and up, should work fine with Windows.

      In the New Book windows, you need to enter a title for the Book at the top, and the button below it should contaion a path to the destination (should default to C:\Users\you…where ‘you’ is your username). You can click it to select a different destination. I tried selecting a destination I don’t have write permission to (such as C:\Program Files), and got a similar error. So most likely you’re trying to save the book to a destination you do not have write permission to. Try to create a folder or file where you planned to save the book, and see if that works without a pop-up coming up asking you for permission.

      As a side note. Are you using unusual letters in the title of your book, such as Chinese signs or :#/?!{}()þð. Gimp Book can have some issues with these, especially on Windows.

      • Loïc said:

        First of all, I want to thank you for your fast answer!
        I noticed that there is no default path in my window of book, I’ll try reinstall it. I tried to create a folder on the desktop or on the folder image but nothing changed my problem, I still get the error message..

  8. Loïc said:

    I tried running gimp as administrator but it made nothing to my problem, I just reintalled book but nothing either… Strange… It seems like it can’t recognize folder..

    • Ragnar said:

      Did you get the latest version of Gimp Book? There were some issues with versions before 1.0.0 on Windows.

      And did you install it to C:\Users\you\.gimp-2.8\plug-ins. It needs the book.py file, and the locale and icons folders there.

      The New Book windows should look like this when you open it…

      New Book window on Windows 8.1

      All versions of Gimp Book can be found here.

  9. Loïc said:

    Yes I do have the last version,the only difference between your window and mine is that the destination panel is empty in mine…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>