Adding Timestamp (Location, Date, Time, etc) to Images/Photos With Imprinter or Alternative Method

I have a batch of photos that need to display the location, date, time, etc as a timestamp on each image.

Ideally the timestamp would be generated from each images metadata.

I have see the ‘Imprinter’ feature has the ability to add watermarks to images, pdfs, etc but cannot see any way of asking it to use the files meta data.

Ideally I am looking for a way use DTPO Imprinter by instructing it to pull relevant meta date or add manual text such as ManuallyEnterTitle, MetaLocation, MetaDate, MetaTime, etc.

Is there a way of doing this within DTPO, via a plugin, etc or would a Script need to be written?

Thanks, Shaun

Scripting might be a solution. There is an imprint method in the scripting dictionary, and it’s not overly complex to read the image metadata… Well, location is probably a lot more fun than the rest, as you’d have to read the IPTC dictionary for that. There’s code for this.
Alternatively, you can use exiftool to extract the data from the image. And if you’re already at the command line, you could take a look at ImageMagick, which probably provides a function to overlay an image with text.

@chrillek is correct on this. EXIF and IPTC data isn’t available for the imprinter so scripting and some extra effort would be needed.

I found the Placeholder reference within the DTPO docs 'DEVONthink 3.9 .6 Documentation, page 242 https://download.devontechnologies.com/download/devonthink/3.9.7/DEVONthink%20Manual.pdf and used the following Placeholders which seems to work:

%record_locality%, %record_area%, %record_zipcode%, %record_country%, %record_zipcode%, newline% %weekday%, %day%, %monthname%, %year%, %time%

I see there is way of using the %recordAliases% Placeholder which could be used to add a custom title.

This only allows single file Alias naming rather than batch Alias naming multiple files at the same time that I can see?

I rarely deal with images and EXIF etc. So my suggestion may be impractical or even complete nonsense.

But when I read this, my first thought was: I would not write/use a script that extracts the metadata and imprints it on an image.

Assuming you have DEVONthink Pro or higher—which allows custom metadata—I would first create eponymous custom metadata variables for all the important image metadata. Then I would use a script to extract the metadata from all of your images and to populate their metadata values in DEVONthink. I would probably add a Smart Rule using (a variation of) this script so that every image added would automatically get the same treatment.

The benefits of this approach:

  • You have metadata visible for every image in your database(s).
  • You can search for the metadata/create Smart Groups using the metadata as conditions.
  • The Imprinter can use DEVONthink custom metadata variables.

You would have easy access to the metadata of all your images, but you would imprint it only on the images you need, with an easy-to-create imprinter.

I don’t know what you’re asking here. Using the Aliases placeholder applies a document’s alias as an imprint.

I think this works:
Batch Process > Change Aliases > EnterCustomName > add %recordAliases% Placeholder to add custom title within ‘Imprinter’