You are here

Index print or contact sheet (with exif and raw support)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Rate this item!

An indexprint or contactsheet is an image that traditionally contains the negative images of an entire roll of film. Photographers used such sheets to index prints or as a proof page to decide which prints to enlarge.

Indexprint is a very useful tool to show the contents of a folder, for web design projects and galleries, personal work, or just to have a record of any archive folder in your (external) hard drives. Indexprint let you easily preview and catalog groups of images by displaying a series of (small) images on a single page or multiple pages.

From version 3.20 on indexprint has the possibility to show the exif information 'date and time', 'iso', 'speed', and 'F-number' if exist otherwise 'no exif data' will be printed. With the latest version 3.31 also JPEG XR formats can be printed. From v4 on the interface has been rebuild and also some new features has been added.

The pictures below are samples how indexprint/contactsheet works. For the default indexprint I have defined only three pictures on a row and three rows. I also wanted the filename including the extension printed. As result all pictures are scaled and centered within there respective minipages.

Quick overview Indexprint V4 development (v3.33 has no background and lettertype/color)

Examples of Indexprint usage (v3.33 and v4)
Default indexprint. Images are complete printedIndexprint used as a mosaicprint
Indexprint with ratio 1:1 choosen. Images are cropped.Indexprint with ratio 16:9 choosen. Images are cropped.
Indexprint with ratio 16:9 and rotate images checked. Images are cropped.....
Preview/screenshot Indexprint v4 development (v3.33 has only one window)
Read and Save pagePage options page
Image options page.other page.

Indexprint is the same program as contactsheet v2.xx (http://registry.gimp.org/node/120) but has his own GUI designed with Glade, v2.xx uses PF-widgets. Reason is that a few problems with v2.xx cannot be easily solved i.e. the small screen problem, choosing a mix of imagetypes and size/ratio. These problems are solved in this new version. V3.xx uses also tooltips, also not possible in v2.xx.

This updated version works with version 2.6/2.8 of The Gimp, several imagetypes are supported.
Updated versions are first published on my website at http://www.sullockenzlin.demon.nl --> GIMP.

Download and Installation

The Indexprint plugin is tested on Windows XP SP3 and Linux Ubuntu 12.04 LTS (both 32 bits).
Installation notes given here are for windows only. On Linux: don't forget to make indexprint.py executable.

Indexprint can also be installed with Gimp Extensions Pack: http://registry.gimp.org/node/27656

Installation Gimp v2.6 and Indexprint v3.33
See my website http://www.sullockenzlin.demon.nl --> GIMP for details.

Installation Gimp v2.8.x and Indexprint v3.33
Download from the file attachments:
-Indexprint v3.33.zip
-add glade Gimp-2.8_32bit.zip (needed also for Lineborder 2)

1. Unpack Indexprint v3.33.zip and copie all the files (including the directories) to the user plugin dir of The Gimp.
2. Unpack "add glade Gimp-2.8_32bit.zip" and copie all the files to the appropiate directories of The Gimp.
3. First time you start Indexprint an "error" can occur. Indexprint don't know the location of your images and the location where you want to install your indexprint.

For JPG XR, raw and ps/eps files and exif information you need also to download and install:
- UFRAW plugin,
- Ghostscript/ghostview,
- pyexiv2 (needs also Python2.7.2/2.7.3 installed),
- JPEG XR plugin (it is possible you get a .dll error, search the registry for it)

Installation Gimp v2.8.x and Indexprint V4 development
Installation same as v3.33 except download "Indexprint development version" instead of Indexprint v3.33.zip.
This version is the bleeding edge towards v4. See my website for more details what has changed.
Do not use this version for commercial use for home use it is oke. This means that you should know your way around Linux or windows systems and that you should have an interest in tracking down bugs. On my systems it is working except sorting on exif and not all exif information can be included.

Changelog

Changelog can be found on my website http://www.sullockenzlin.demon.nl --> GIMP..

Note

For some reason translations aren't working anymore on windows (bugzilla 574520); Linux users have no problem. Affects also Lineborder 2.

GIMP Version: 
Code License: 

Comments

The ok button is greyed out on Indexprint, so it's not producing any errors, because it never runs. You have to cancel out to remove the menu screen.

That is odd the OK button should not be greyed out. If Lineborder 2 works Indexprint should also work. Both have the same dependencies.

Can you check for me if in the config folder a configfile is added? You can check that file for "stupid" things or even delete it, it will be recreated automatically.

/home/mahvin/.allplugins/indexprint/gui.py:100: Warning: unable to set property `xalign' of type `gfloat' from value of type `gchararray'
builder.add_from_file(UI_FILENAME)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton14_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton13_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton12_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton10_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton9_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton8_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton7_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton6_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton5_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton4_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton3_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton2_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_radiobutton4_group_changed'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_radiobutton3_group_changed'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_radiobutton2_group_changed'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_radiobutton1_group_changed'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_spinbutton1_change_value'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_combobox2_changed'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_entry1_activate'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_filechooserbutton2_file_set'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton8_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_filechooserbutton1_file_set'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_entry2_activate'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton7_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton6_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton5_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton4_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton3_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton2_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:103: RuntimeWarning: missing handler 'on_checkbutton1_toggled'
builder.connect_signals(self)
/home/mahvin/.allplugins/indexprint/gui.py:154: Warning: unable to set property `xalign' of type `gfloat' from value of type `gchararray'
self.dialog.show()
/home/mahvin/.allplugins/indexprint/gui.py:159: Warning: unable to set property `xalign' of type `gfloat' from value of type `gchararray'
gtk.main() # event loop
Traceback (most recent call last):
File "/home/mahvin/.allplugins/indexprint/gui.py", line 195, in on_dialog1_response
self.docontactsheet()
File "/home/mahvin/.allplugins/indexprint/gui.py", line 320, in docontactsheet
select_part_of_filename)
File "/home/mahvin/.allplugins/indexprint/GenerateIndexprint.py", line 606, in contactsheet
Dump_Filename_list, Sorted_Images, part_select)
File "/home/mahvin/.allplugins/indexprint/GenerateIndexprint.py", line 138, in get_images
for filename in os.listdir(original_location.decode('mbcs')):
LookupError: unknown encoding: mbcs

Thanks Mahvin. As far as I can see you are missing one or more packages. Look at the Linux table and be sure that everything is installed (pygtk, libglade, etc.)

I tested also the zip archive, the archive is oke.

But there is also one line what concerns me: the last line "unknown encoding: mbcs"

I did just that, and found that I had them all, but not dev versions, if that matters. Lineborder works, so apparently, as you say, indexprint should as well?

On Linux I really don't know if dev versions matter.

If Lineborder 2 works on your system so does Indexprint. Why not on Ubuntu I don't know.

I have already contacted Mikral to help but I shall also ask him to have a quick look.

Thanks for the reply. I took and removed it from ~/.gimp-2.6/plug-ins/ and then unzipped it to /usr/lib/gimp/2.0/plug-ins/ I also made Indexprint.py executable and had the same experience. There is no errors coming into the error log. It seems like a problem with the executable command. The "ok" button clicks, but then nothing occurs.

I have downloaded and installed Line Border 2. I have used this before without issues. I just checked again today and it still works without issues.

thanks for providing this script hopefully someone can help figure out why it doesn't work for me in Ubuntu 10.10.

If Lineborder 2 works Indexprint should work also, both have the same dependencies.

Mahvin, acreech2330,
I checked just the installation procedure of lineborder 2 I see a little difference in making executable.

(# Extract content of the zip archive to the ~/.gimp2.6/plug-ins/ directory)
# Make script executable (chmod og+x ~/.gimp2.6/plug-ins/kym-Border.py

I don't know what the difference is with

# Make the plug-in executable with chmod +x /home//.gimp-2.6/plug-ins/indexprint.py

(edit)
I asked someone to help. His answer:
-----
I'm Gentoo, but you could ask them to start terminal (https://help.ubuntu.com/community/UsingTheTerminal) and start gimp from there. Just open the terminal, type: "gimp" and hit enter, Gimp will be started and all error messages are written to the terminal. So all what they need is to start the plugin and check the terminal for the error message.
------
So try it and please give feedback the results.

chmod didn't change anything. I even removed it and started from scratch to eliminate any doubt about mix-ups.

I think I already located the problem. Just get a message from mykral.

You can skip all warnings but the last line has an error: "unknown encoding: mbcs". Ubuntu (and I think al Linux machines) don't recognize the mbcs encoding and will stop executing the plugin.

mbcs is necessary for correct reading foreign characters (on windows).

If you give me a couple of hours I will remove those lines from the code and add it to the registry.

Pages

Subscribe to Comments for "Index print or contact sheet (with exif and raw support)"