Return to Digital Photography Articles

Using Downloader Pro to import digital photos

Downloader Pro is a great little utility from Breeze Systems that allows one to configure automatic downloading of images from card readers, CD ROMs, etc. Not only does it search through whatever directory hierarchy exists on the media (eg. the H:\HCIM\106CANON\ subdirectories), it is able to perform a number of wide range of intelligent actions on the files. Most importantly, it will copy the images, rename them into an extremely flexible custom pattern and move them into to a directory structure of your choice.

The following images are from version 1.6.2 of DownloaderPro.

I have assigned Downloader Pro to be automatically loaded upon the insertion of any media containing digital images. This is done with the Events->Register for AutoPlay events menu item. Once this has been set, placing a memory card into a card reader will cause the Windows XP Removable Disk dialog to come up with a choice of available programs to launch. It defaults to Downloader Pro, and I simply click OK. It is also possible to click the checkbox Always do the selected action but I don't recommend doing this. There are definitely times when you will want to simply insert a CD-ROM (that happens to contain a few JPGs) without wanting Downloader Pro to instantly boot up. It is also not obvious how to undo this option, so I don't recommend setting it. (If you need to undo this, please see the always do the selected option page.)

Similarly, there is an option within Downloader Pro that will allow you to start the transfer of files from the card automatically, without user intervention. I do not set this option as I like to see what the program is about to do before it performs the renaming and deleting. This is especially the case if the files have already been renamed in some way.

EXIF Orientation and Downloader Pro

Most newer digital cameras contain a sensor that detects whether the camera is held in portrait or landscape mode. By default, all programs assume that a photo's orientation is landscape. An EXIF field, Orientation will be set by these cameras if the physical sensor detects that it is being held in a vertical orientation. Note that the cameras simply set this bit rather than actually trying to rotate the image data in the camera itself (which would hinder performance). So a flag is set in the file which tells any viewing program to rotate the photo before displaying it. Note that the intent is to rotate a copy of the photo before display, not the original. Although this EXIF field is almost always carried with the photo (along with exposure, camera settings, etc.), it is not always honored by the viewer software (or operating system). For instance, Windows Explorer (the default folder view in Windows) doesn't use the EXIF orientation flag before it displays the images. Worse yet, some people end up using Windows Explorer (or other programs) to rotate the image so that it looks right. Most of these programs do not perform lossless rotation. Instead, the JPEG image (which is compressed already) is rotated and then recompressed. The net effect of this rotation is often a loss of image quality. Better software can help you perform rotation in a lossless manner (typically requiring the pixel dimensions to be a multiple of the block size, also known as the Minimum Coded Unit in JPEG terms). Please see my articles on JPEG Compression and JPEG Lossless Rotation.

In Downloader Pro, one can automatically perform the EXIF-instructed rotation with the option: Auto-rotate JPEGs after downloading (lossless rotation) (selected in the preferences). Because the rotation is "lossless", this is well worth enabling, and it is a definite timesaver. In effect, the software will load the image, rotate it, clear the orientation bit, rewrite the photo with the updated EXIF data. This rotation seems to preserve the EXIF "maker notes", so it appears to be safe to use.


Rename settings for Downloader Pro

Downloader Pro has a large number of options for handling the import mechanism. By far the most important is the configuration of the renaming methodology.

The dialog shown here indicates the settings I use, and these produce the File Naming Strategy outlined in another section.

In summary, with the options shown above, Downloader Pro will create a directory for the year, followed by a directory for the year-month-day, and then will generate a filename that includes both the date and a 4-digit serial number.

Example: E:\Pictures\2004\2004-11-07\20041107_0123.jpg

Note in addition to the image renaming, the directory hierarchy is automatically generated. I strongly recommend using a good directory hierarchy, as it simplifies browsing in many applications. Unless you are shooting professionally with a job-based scheme, dated subfolders is nicely organized and very scalable.

If I had to find any room for future improvement, I would like to see an enhanced search & replace method added (or extensions to the %r option), which would allow renaming from different filename schemes. For example, the %r option currently matches the first occurence of a digit sequence. A match to the last digit sequence would have been preferable. As an example, let's say you originally imported your photos via the Microsoft Scanner & Camera Wizard. After import, the files might be named, "March 2005-easter 001.jpg" through to "March 2005-easter 076.jpg". Using the %r option will extract the "2005" and not the "001" through "076" (leading to name collisions). Similarly, it would be nice if you could configure some degree of zero-padding (eg. convert between 3-digit to 4-digit). Although renaming files that have already been imported is not the primary intent of Downloader Pro, this capability of the product is a nice timesaver in tidying up ones file hierarchy.

That being said, the built-in token options have satisfied nearly all of my typical import needs perfectly.

Mapping multiple cameras into naming scheme

One of the nicest added features in the renaming process is the ability to specify custom tokens on the basis of information extracted from the digital photo metadata.

When combined with the rename settings shown above, one can autoamtically have the imported photos renamed differently, dependent upon which camera took the photo.

The benefits of naming the files differently on a per-camera basis are:

  • Prevent filename collisions (eg. if two cameras were used in one day and the sequence numbers happened to overlap -- this has happened to me a couple of times!)
  • Easy identification of the owner of a photo

In setting this up, I have elected to map my primary camera to an empty token (actually to "_", I'll explain later). All other cameras have been mapped to a two-character indicator surrounded by underscores (eg. "_s3_"). This way, the additional naming indicators are only included if the photos is from another person, or from one of my backup cameras.

In order to get this mode to work effectively with multiple cameras, the option to identify the camera based on serial number must be selected. As shown in the dialog box here, I have two Canon Digital Rebel cameras that Downloader Pro can distinguish on the basis of their serial numbers. Unfortunately, less advanced camera types (typically point and shoot) don't have a serial number that can be picked up, and so Downloader Pro does the mapping purely on model type (eg. Canon S30, SD300, etc.).

One of the great things about this remapping is that the Add camera... option (which is used to create a new mapping) is extremely easy to use. You simply locate a photo that was generated by a particular digital camera, and the software automatically detects the model type (and serial number), creating a new mapping for you in the process. You can then specify two mapping tokens %T8 and %T9. To keep things simple, I only use %T8, and set it in such a way that for my primary camera, this maps to the underscore character (which I use to separate the date from the sequence number in my naming scheme). For all other cameras, I add in the two-character identifier, surrounded by underscores.

You will notice that the Filename mapping option (shown in the Rename settings section above) uses the following string:


This creates a filename that concatenates the date (in the form YYYYMMDD) with the camera token described here (%T8), along with the original 4-digit sequence number created by the camera.

So, if I were to import a photo generated by my Canon 10d (primary camera), it would be renamed: 20050320_8648.jpg

If it were created by my backup point & shoot Canon S30, it would be renamed: 20050320_s3_8648.jpg

Note that there are options to do this mapping on the basis of serial numbers, but I found I did not need to do this.

Setting the read-only flag on import

Configuring DownloaderPro to automatically set the read-only flag (write-protect) is a great way to help prevent accidental modifications to original images in the database. Anytime that one wishes to modify an original, a copy must be made, and then the write-protection on the copy is toggled (easy to do in IMatch or other programs). Once the edits are complete, the write-protection is toggled back to read-only. This does add a little extra effort in the workflow (especially for images from cameras that don't have an orientation sensor), but I feel that the added safety is worth it.

Note that I am also instructing Downloader Pro to auto-rotate the JPEG images (based on the EXIF orientation flag). As mentioned earlier, I find this option to be a great timesaver.

As some digital cameras create filenames with uppercase characters, I have also elected to convert them to all lower-case so as to keep everything consistent in my workflow.

Using Downloader Pro with the Epson P2000 or other Personal Storage Devices

For the longest time I had been using Downloader Pro with the Use image capture time for file timestamp unchecked. I believe that the default is for it to be unchecked. In this mode, Downloader Pro uses the file creation time instead of the EXIF shoot date. When one is simply importing files from a memory card, this is not an issue (as the dates should be equivalent). However, part way through my recent Africa trip I discovered that my files were being renamed according to when I transfered the card to my Epson P2000, instead of when I took the photo. When using a portable storage device or PSD (such as the Epson P2000) it is important that you enable this option!

Other options in Downloader Pro

There are a wealth of other options available in Downloader Pro. It has obviously developed over time to meet the needs of many digital photographers and professionals.

In addition to the standard options, a mechanism exists to run a plugin module, thereby expanding Downloader Pro's functionality. One plugin that I am currently using with great success is: JPEG Resolution Plug-in. By default, some digital cameras (such as the Canon 10d) automatically set the EXIF resolution to 180 DPI. This was probably done for purely marketing reasons, and that value is not one I'd want to use in my workflow. So, I am changing it to 300 DPI, which is more in line with high-quality printing standards. Note that this does not change any of the image data itself, but only suggests to other software packages how large the photo could be printed.


I have now used DownloaderPro to import more than 30,000 photos. In that time I have been extremely happy with the way it has operated. I have experienced the occasional incident where DownloaderPro has crashed and suddenly exited during transfer. For this reason I suggest that one does not enable the Close Window when Finished checkbox. This way you will be able to tell if your import failed by whether or not the window is still visible. If it occurs, one should remove the last file transferred (as it will likely be corrupt) and rerun the import to start the import from where it left off.


Although many catalog programs available today attempt to incorporate some degree of importing functionality into their application, none of them come close to Downloader Pro in terms of its flexibility and intuitive interface. Not only does it solve the desire for unique filenames, but it automatically creates a very workable directory hierarchy that will interface with any other product in ones workflow. The ability to incorporate Job Codes or camera identification into the naming scheme shows that care has been taken to ensure that this product will work for professionals and consumers alike.

  BreezeSys Downloader Pro 1.9
Cost: U$29.95
Trial? Yes. 30 day.
Vendor: Breeze Systems
Prices as of October 2006


Reader's Comments:

Please leave your comments or suggestions below!
 I'm trying to use your Mappings just like you have them above but I keep getting an error. The value must not contain any of the following characters ............... If I remove the pipe symbol I don't get the error. So what can I use? What does the pipe symbol do?

How can I get my EOS 40D to map?
 Hi Carl --
The pipe symbol is not actually part of the mapping value. That is just added by Downloader Pro as a separator when it shows both {T8} and {T9} on the same line.

So, if we look at the example for the PowerShot camera, my mapping for {T8} is just _s3_. Hope that helps clarify it!
 Hi, nice site, i've gained some great insight from folder/file organization.

Have you come across any new software for renaming files/folders? It seems like downloader pro is simple enough to use but it is aimed more for importing folders. I'm trying to rename my existing files and downloader pro doesn't allow renaming files within the same folder or even a subfolder. I'm trying to find a simple exif renamer and have gone through a few with much dissapointment. Can anyone recommend a simple exif renamer?
 Hi Tim -- I have created a page with a few batch file renaming utilities with EXIF capabilities. I often use Flexible Renamer for most of my cleanup work as it has a nice preview and undo capability (with regex).
 I like Downloader Pro 2.0.4 but how can I add a Vivitar 7022 camera to my mappings? I have been working on this for weeks. I want this mapping for the Vivitar: Vivitar 7022 ->{T8}={T1} | {T9}={T1}

It looks like it would be easy to do. But I can't get.
 When you "Add camera...", what happens? Have you tried adding a text string for {T8} and {T9}? (I'm not sure if DL Pro supports tokens referencing other tokens (ie. {T1}).
 I see you program can read EXIF data - Can this program read the EXIF ( User Comment ) field and rename the photos in a batch run using only the User Comment field to rename the files without losing the EXIF data.

 No -- from what I can tell, there is no token designed to rename based on EXIF comment string. However, the primary use for Downloader Pro is to import photos direct from the memory card (before any post-processing), so the comment field is almost always blank at that stage in the workflow.
 When sending the digital images to the on-line printers How do I request that the file number be shown on the back side of the photos This is very important when having 100 -200 photos printed & the customer students require repeat copies of a boy with glasess or girl with long hair. No numbers on the back of the photo means no reference for follow up to obtain repeat copies or printed on the front side like I can do myself.
Pls. help for this question . Tks. pete
 I have a camera that I sometimes use to capture video. It generates a .jpg file whose only purpose is to act as a thumbnail for the video. I would like to discard these thumbnails on import.

The videos are named and the thumbnails are named Pxxxx.jpg, where xxxx is the same for both the movie and the thumbnail.

Do you know of a way to exclude the .jpg thumbnails from the download? Trick is, of course, that other .jpg's that are real photos should come across in the download!
 Hi Bill --

Sometimes JPEG files will accompany the video files in order to retain EXIF information not supported by the video file itself. For example, on many Canon cameras, separate .THM files carry all of the traditional camera setting details for the .AVI video files. Be aware that by deleting the JPEG thumbnail images you may be discarding this other information that may be useful for reference purposes.

That said, it should be a simple matter to create a plugin for Downloader Pro that accomplishes what you are after. Thankfully, Chris has provided a free C++ SDK on the DL Pro support page.
 I am doing events with up to 10 different photographers using different cameras. Thank you for showing how to create a naming convention for each camera. However I have 2 questions:
1) How can one create a sequential number regardless of the camera and then capture a code eg A, B, C to identify the photographer who took the photo.
2) How can one set up DL Pro to load an image into a specific folder depending on the time the phot was taken as recorded by the camera?

I hope this is possible. Thanks in advance for your response.
 Although I don't use job codes, I believe you should be able to accomplish something similar with the following:

Question 1:
Set Filename:
This creates a 4-digit sequence number for this particular download session, with a Job Code appended to the filename. Obviously, you can rearrange this how you like, add in different sequence numbering, date codes, etc.

Question 2:
Set Download directory:
This will produce a directory structure such as:
E:\Photos\2008-04-05\1423\ for photos taken at 2:23 PM on April 5, etc.

Hope that helps!
 Hi Calvin,

I was wondering if DP can rename (incorporating a date and sequence number) RAW and accompanying JPEG files (created by the camera) with the identical names, but obviously with the respective extensions. I am using Lightroom, and while it can do this naming, it "melds" the two files into one in the program. I am trying to rename and back up my files into a "baseline" archive before I create a DNG and import it into Lightroom. I also tried ImageIngester, but it cannot handle RAW+JPEG and assign them identical names. Can DP do this?

 This should be no problem, so long as you choose a token string that doesn't cause an arbitrary renumbering. In other words, if your tokens are set up to preserve the sequence number in the original filename (which is the method I've recommended), eg.: "IMG_3145.JPG" -> "20071221_3145.JPG", then the accompanying RAW file "IMG_3145.CR2" will be renamed to "20071221_3145.CR2". I have verified that this works fine.

I have been a big fan of the cam2pc downloader (it's free and performs quite well) but it seems development has stopped.
So, I started looking for an alternative and Downloader Pro looks like a reliable and flexible program.
However, I cannot find a way to have files numbered the way I could with cam2pc;
- I want each file placed in a directory named after the date the picture was taken (can do that in DP just fine)
- within each of those directories I want a sequence number to be part of the file name, starting at 001 for each directory (so DP should keep a seq number per directory)

Now the issue is the folowing;
- there are several numbering schemes in DP but they seem to be linked to the job code or the download session, not to a specific directory.

Am I overlooking something?
 There are some additional sequence number tokens that are available within Downloader Pro. In particular:
  • %n3 = 3-digit download sequence number
  • %N3 = 3-digit date-based download sequence number
I believe these may serve the purpose you're after.
 Great site and information here. I just tried Downloader Pro and it worked great except it didn't auto-rotate my pictures. Using a Pentax istD. Any ideas?
 Hi Tyler -- Apparently, the Pentax *ist D does not have an Orientation Sensor. Therefore, the camera will not be able to mark an image as requiring rotation (which DL Pro uses). Your only option is to rotate the images manually in this case.
 My camera Canon A530 do not work with the Downloader Pro v1.9. It's not compatible with the software? My OS is Windows XP.

 That's rather odd -- specifically, what feature doesn't work? You should consider writing a post to the Downloader Pro support forum, or an email to Chris Breeze (the author) -- he is generally very responsive to developing and maintaining the software.
2007-01-19John Christopher
 I've just had an interesting e-mail from Chris Breeze (we are not worthy), which indicates that using the %n and %N tokens within DL_Pro might not be such a good idea, especially if you are like me and chopping and changing between two or more CF cards during the durations of an assignment (without reformatting).

In my last post I said that I was going to leave the batch incremental re-numbering of files to Iview Media Pro (Post Production) but on second thoughts having had a quick look at BB-Pro, I've decided I'm going to use the batch renaming function of BB (and Token %n within BB) to re-number all the files in a folder where I download them on my laptop, leaving DL-pro to do the rest. This will leave the original filename which I have created within DL-Pro intact and unchanged on the CF cards only adding the value of the %n token after the files have been imported into my download folder. Does this make sense? It's a bit long winded but in theory it SHOULD work.

This is an example:

DL-Pro: Part One= Subject/Month/Year/Original File Number.jpg
+ (Files copied from CF card to Download Folder on ext HDD)

BB-Pro: Part Two= Incremental re-numbering.

Now to see if the damn thing works!
 I don't currently use BreezeBrowser so can't comment on the renaming methodology there, but your plan does sound reasonable. Work with it for a while and I'd be interested in hearing whether it addresses the multiple-camera, multiple unformatted-cards solution. Thanks John!
2007-01-18John Christopher

Last Saturday I only used only ONE of my Canon 10D's but swapped between TWO 512mb CF cards during the duration of the event. Apart from initial setup problems where DL-Pro failed to recognise and pickup the connection of my Jessop CF card reader, everything worked great. I just couldn't get DL-Pro to perform incremental numbering as part of my Filename scheme. This now will be done post-production within Iview Media Pro.

I'm still in the process of studying the manual but I really think that Chris Breeze has got this thing licked as regards the use of Dual DSLR bodies. Employing the serial number of each camera is a act of genius on the part DL-Pro. I haven't tried the %n3, %N3 tokens as yet but hope springs eternal that this will work. John
 The use of a serial number lookup table to define the content of a token means that I have never had any problems shooting with 3 cameras (my dSLR, my wife's dSLR and a digicam) at the same time. My camera takes on the simple filenames (e.g. 20070117_1234.jpg), while the others get extra tags inserted (e.g. 20070117_sh_1234.jpg and 20070117_s4_1234.jpg).

In your case you'd probably want to select a smaller add-on indicator. The reason I have chosen mine in the manner I have is that it also lets me differentiate my photos from anyone elses' -- I use that indicator to specify the photographer in addition to differentiating all of my own cameras.

Good luck with it -- I'm certain you'll get this workflow figured out nicely!
 Hey Cal

Thanks again for your great advice. I can confirm that I'm using a Canon 10D (two of them) which are just the business for Events Photography. Both camera's numbering system were set on "Continuous" the moment they came out of the box, which has caused me numerous problems with file (numbering) duplication in the past ( with both camera being used about the same).

Last Saturday night I used DL-Pro for the first time in anger after damaging one of my camera's USB interfaces in a accident on a previous job. Shooting tethered to a USB cable is not recommended for Health and Safety, trust me on this one. For a long time now I've been looking into alternative ways of shooting events which avoided the need of trailing cables, such as investing into two pairs of Bowen Pulsar Radio Slaves for triggering my flash strobes. I was thinking of going Wi-Fi but found it complicated in setting up and slow in operation. Until speed and userability are greatly improved, Wi-Fi simply won't be a viable solution for me anytime soon (this could change with the introduction of the Eye-Fi 1Gb SD card but only time will tell), which brings us nicely onto the subject of Downloader Pro.

Once setup (it took several goes and the user interface is awkward to say the least, these "tokens" just didn't cut the mustard for me) Downloader Pro, together with BreezeBrowser is fast, very fast at moving data from a CF card to a work-station, in this case an IBM T23 Thinkpad. only one thing let it down. Batch incremental renaming and re-numbering (with increments starting at 000) in a application such as Iview Media Pro is dead easy. I'm still trying to find the token combination within DL-Pro to do the same thing. John (the Dude).
 Originally, you mentioned only using a single camera, which shouldn't be an issue in Continuous mode. But with two cameras, you are definitely going to encounter the occasional collision. In this case I would probably add in an extra marker tag into the filename that is based on the serial number of the camera in use. (For example, I have one serial number that simply adds an extra character to the filename, achieved through the use of the %T8 or %T9 token). Otherwise, you'll have to manage the sequence numbers / reset them with greater care.

With multiple cameras in use, I assume that you've tried using tokens such as %n3 or %N3 (3-digit download sequence number)? What problems did you note when using this method? I would expect that although it'll avoid the filename collisions, you'll no longer be able to detect that you've already downloaded a given image (which is important considering that it sounds like you may be leaving old shots on the memory card before the next use).

As a last resort, you can rename within your image browser, but this is really something best to automate if possible.. the hard part is solving your exact needs and what tools will let you achieve them!
2007-01-13John Christopher
 Thanks for the advice.
But there is going to be a problem because as I said in my last post, I don't want to download:

(without deleting the original files from the card)

Which means I don't want to duplicate images into the same folder each time I insert an unwiped card into the reader and I don't want to wipe the card each time I download. I always want to retain the original files on the cards throughout the duration of the event. I hope I'm making sense. At the beginning of each event I want the numbering to start from 0001 onwards. Now I'm going to mess around with DL-Pro to see what I'm talking about. Thanks JC
 Sorry, I missed the part about not wiping the cards. If you do retain images on the card, then Downloader Pro will recognize that the downloaded filename will match a file that you already have on your drive. In that scenario, DL Pro just reports the files as being Downloaded instead of New File, and will skip over these during the next download attempt.

The only potential issue I see is if you are shooting on a card that already contains images (from a previous card swap). The camera must choose between using the internal index of the last image shot (which would be fine in your case) or the index of the last image on the card (which would not be good in your case). Different cameras may do this differently, but in the case of Canon digital cameras, you simply need to set the File Numbering option to Continuous. If you had set it to Auto Reset instead, then the camera would start after the last shot index on the supplied card -- which would expose you to the possibility of duplicate filenames across the cards.

If you really want to start the numbering off at 0000 for the shoot (assuming a Canon camera, others may work similarly), you can format all of your memory cards, set the numbering to Auto Reset mode, take a shot, then change the numbering back to Continuous.

Hope that's helpful! Cal.
2007-01-12John Christopher
 I'm really interested in using Downloader Pro as part of my workflow as an Events-Photographer. In most cases I would be shooting each event using one camera but multiple CF cards. Images from several cards would be copied (without deleting the original files from the card) to a predefined folder throughout the duration of the event, whereupon I would use Breeze Browser Pro to display the images to my clients as well as output as prints on a dye sub printer. All night long I'd be swapping between two or more cards, downloading, showing and printing (via BB). After the events all of the images would be downloaded to my website for aftersales.

Now assigning all the images from the said event with the same Job name would be no problem within Downloader. What I would like to avoid is duplications of filenames imported into the same folder as images from multiple sources/case which may have already been assigned the same name/number. What would be your suggestion how best to setup Downloader Pro in my situation. Thanks. JC
 Thankfully, this should be easy in your case. Since you are using a single camera, the sequence number that the camera chooses will be continuously increasing, even across changes of the memory card (assuming that you wipe them before shooting again).

Many digital cameras are designed to select a sequence number for each shot that is one greater than the sequence number assigned to the last shot taken by the camera, irrespective of the use of multiple memory cards. But, this may only work if you format / erase the card after copying it.

Therefore, your filenames should not be in conflict. The conflicts tend to occur when you have multiple cameras in use -- a scenario where it would be safer to include some identifier in the filenames to differentiate the photographer or camera.
 I would like to know how would be it possible to avoid a counter in the image name on import (I'm using a date scheme with Downloader Pro) when you have subsecond images with Canon (I know for Nikon subseconds can be read)? I was thinking there should be a conditional counter activated in case of file name collision. But what is the reality?
 This is one of the reasons why I don't bother to rely on the time information to generate my filenames. Downloader Pro does provide the subsecond timing information (as a token) for Nikon dSLRs but not Canon. I definitely prefer to use the sequence number information that the camera has already provided in the filename (thereby eliminating any filename collisions). As I can always extract the EXIF time information from the image, I don't see a lot of value in preserving it in the renamed filename too.

That being said, if you were to use the time (with seconds) token in DL Pro, I would expect that your multi-shot sequences might end up with a Duplicate Filename warning in the DL Pro preview window, meaning that you'd have to manually rename the [successfully imported] file (to a different timestamp)... but this wouldn't be too hard, although it is a hassle.

I am interested in a program which will do the following:

  1. Take the first 3 digits of the subdirectory (e.g. 351 from "\DCIM\351CANON")
  2. Take the last 4 digits of the filename (e.g. 5153 from "\DCIM\351CANON\IMG_5153.CR2")
  3. Take the date of the file
  4. Then in the target directory:
    1. create a folder based on the file's creation date
    2. and copy the file while renaming to ###-####.* (i.e. 3 digits from step #1 plus 4 digits from step #2)
  5. Would your program be capable of doing that? If so, could you email me back?

    Thanks, David


Hi David -- Yes, this would be an easy thing to accomplish with DownloaderPro. The following settings should do the trick:

  • Download directory: C:\Pictures\%Y\%Y-%m-%D
  • Filename: %q-%r

A question on the rotation. If you rotate the images at the beginning of your workflow, you have to rotate them back when you send the images for printing, don't you?

I am using a online printing service and had some money wasted by getting prints with two large white stripes left and right because I sent vertical images.


This is odd. There are three potential causes for the white on the sides:

  1. Online printer's handling of EXIF orientation flag.
    An online printer should be discregarding the orientation flag because it doesn't care at all which way the person receiving the photos wil be tilting their head to see the photo. The EXIF orientation flag only assists in knowing which way to present the 4x6 print.
  2. Online printer's handling of image aspect ratio (eg. 2:3 vs 3:2).
    I would be surprised if a printing service did not recognize the 2:3 dimension of a vertically-rotated image and remap it back to the 3:2 for typical printing. It is possible that the printer always assumes landscape printing, but I would find this to be surprising. It sounds like this is what your printing service is doing. The reason why I imagine that the service might do this is to avoid ambiguity. The only way that the service can recognize these re-oriented photos is to detect the rotated aspect ratios (ie. anything over 1+ : 1 does not need to be remapped, while anything 1: 1+ needs to be remapped). I would have assumed that this is done at most printing services, but this is where I could be wrong.
  3. Original image's aspect ratio (eg. 3:2 vs 4:3).
    Lastly, it's possible that if you were printing a digital image from a point & shoot camera, your aspect ratio is actually 4:3 or 3:4 (not 3:2 or 2:3). By printing these on 4x6's, you will have to either get some cropping or borders. As you would see this also on your landscape photos (and you haven't mentioned this as an issue, this is probably not your problem.

In summary, it certainly looks possible that your service does not perform the orientation detection (through image dimensions). The services I have used do this, and I've never had to think about it. It sounds like you'll need to manually rotate your images back to landscape format if you still decide to stick with this printing service. Unfortunately, if you've already used a tool (such as DownloaderPro) to replace the EXIF orientation flag with a true rotation, you'll have no automated means of re-rotating these.

Therefore, if your services does not detect dimensions, disable the option to rotate images upon download, and instead rely on your imaging software to honor the EXIF orientation flag.


I have purchased Downloader Pro and find it very useful. My only gripe is that the "Job Code" function assignes the same job code to all files on the memory card, even if they have been taken over a number of days/jobs. Ideally the program should prompt you for a new job code when it finds images from the next day.


As I have not been using the Job Code function I didn't run into this. But as you state, I can see that being an inconvenience. I am sure that Chris Breeze (the developer) would be very receptive to your suggestion as many pros will no doubt run into this. The solution sounds workable, although I can imagine that some photographers may have multiple shoot days with the same job code. How should these two scenarios be handled? At least it's not too hard to select each dated set and use Download Selected as a temporary workaround.


I am not so sure about your remark that for JPEG lossless rotation the picture needs to be opened, rotated and rewritten. I may be wrong, but my impression for lossless rotation was always (since it came up in various programs incl. IrfanView) that just the orientation bit was changed. Not unlike - actually exactly like - the EXIF rotation info for RAW files gets changed.

Here's a quote from BreezeBrowser Pro's help:

"BreezeBrowser Pro is also able to view and rotate JPEGs using the orientation information contained in the EXIF data (this feature can be enabled in Preferences). Rotating JPEGs using the EXIF orientation information is much faster than rotating the image data.

Please Note: Not all image editors can read the EXIF orientation and so images rotated this way in BreezeBrowser Pro may appear in their original, unrotated orientation when edited."

Here the, very scarce, quote on the issue from Downloader Pro's help:

"More and more digital cameras have an orientation sensor which detects whether a shot is taken in vertical or horizontal format. The camera stores this information in the EXIF shooting data but unfortunately most applications ignore this data and won't display the image correctly rotated. Downloader can automatically rotate these images without any loss of quality so that they are correctly displayed on your PC."

Since my G2 doesn't have such a sensor (or something just went wrong with a quick test) I can't tell you with 100% certainty that it works with Mr Breeze programs correctly.


It is easy to get confused by the terminology as there are two very similar operations that can be performed. One is virtual rotation and the other is lossless rotation. Some programs give these two operations other names, but for the purposes of this, let's assume this terminology.

  • Virtual Rotation - The EXIF information is read and the image contents are rotated for display purposes only. The original file's image data is never touched. If the application lets you perform a virtual rotate, then its simply allowing you to change the orientation flag in the EXIF data. Note that every time a "virtually rotated" image is loaded in an application, the application must perform this visual rotation. Essentially, the EXIF rotate flag just defers the extra processing up to software, rather than the original camera hardware.
  • Lossless Rotation - DownloaderPro offers the ability to read the EXIF data and perform the actual task of permanently re-orienting the image data (on the basis of the incoming EXIF orientation flag). This means that future applications will not have to "virtually rotate" the image upon every open, and it will also be beneficial for those programs that don't respect the orientation flag.

Part of the confusion might lie in the fact that virtual rotation is in fact also lossless (ie. no image data is deteriorated), but it is not the same as performing a lossless rotation on the image data. I have now been using DownloaderPro's lossless rotate mode with great success and will continue to do so. As you indicate from the documentation excerpt, I think the help documentation could be rewritten to be more clear on distinguishing these operations.


Leave a comment or suggestion for this page:

(Never Shown - Optional)