i think for most people who want to have a lot of control over how their guide looks, doing a mail merge in Microsoft Word, as @jdmore hinted at in another thread (https://forum.inaturalist.org/t/data-users-what-are-your-use-cases-and-requests-for-exporting-data/2972/27) is the way to do it.
below, i’ve noted how i created an example mail merge in Word 2013. (note that for the example, i’m just creating a document that displays the image url text and the image. but you can add other fields, as you like.):
- first, download your observations from iNaturalist. when doing your export, make sure you select image_url as one of the fields that you include in your export. (i won’t explain this process more than this, since i’m assuming you know how to do it.)
- open up a blank document Word. since I have a post-2003 version of Word, i first need to save my document as a Word 97-2003 Document. this makes the file a .doc file, as opposed to a .docx file. (as far as i can gather, the rest of the process won’t work if you use .docx, at least not in Word 2013. i don’t know why this is the case, but i assume there’s a bug.)
- make sure you have the Mailings option in your Toolbar. if you don’t, go to File > Options > Customize Ribbon, and select Mailings.
- go to Mailings > Select Recipients > Use an Existing List… and select your exported CSV file. (it may prompt you verify the file’s character set. UTF-8 is fine.)
- Now click on Mailings > Insert Merge Field, and select image_url from the list. that should add something like «image_url» to the document.
- click Mailings > Preview Results. «image_url» should become something like https://static.inaturalist.org/photos/27136996/medium.jpeg?1540348252, corresponding to the image url text of the first record in the CSV. select and copy that url text, and click Mailings > Preview Results again to go back to the generic field view.
- go to Insert > Pictures… in the pop-up window, paste your url text into the File Name box. Locate the Insert button, but don’t click it. instead, click on the down arrow to the right of the button, and select Insert Link. this should add a photo to your document corresponding to the exported first record’s photo.
- Toggle field codes on (Alt+F9). at this point, instead of seeing «image_url» and a photo in your document, you should now see something like:
{ MERGEFIELD image_url }
{ INCLUDEPICTURE “https://static.inaturalist.org/photos/27136996/medium.jpeg?1540348252” * MERGEFORMAT \d } - highlight everything inside the double quotes in the INCLUDEPICTURE line. then click on Mailings > Insert Merge Field, and select image_url from the list. that should you something like this:
{ MERGEFIELD image_url }
{ INCLUDEPICTURE “{ MERGFIELD image_url }” * MERGEFORMAT \d } - Toggle field codes off (Alt+F9). you should now see just «image_url» and a photo in your document.
- If you were planning to add more fields or do additional customization, this is the point at which you would do it. you might also want to save at this point. i’m not doing anything special in my example. so i’m just going to move onto the final product…
- go to Mailings > Finish & Merge > Edit Individual Documents. when prompted select All records to merge, or else select the specific records that you want to display, and click OK. that should create a new document.
- in your new document, you’ll notice that for each record you exported, you’ll get an image url text, along with a photo. you’ll notice the text changes for each record, but the same photo is repeated throughout the document. to remedy this, select everything in this new document (CTRL+A), and then update fields (F9). you should notice that you’ll get the appropriate photos for each record now.
note that this approach – because it has the same limitations as the iNaturalist CSV export – will give you only the first photo associated with the observation. if you have observations that have multiple photos and you need all the photos to be displayed, you’ll have to get observations via the iNaturalist API instead of the CSV export, and at that point, it might be easier to use / adapt the code from something like what @schoenitz referenced above, rather than doing a mail merge in Word.
final note: if you’re creating a guide from a project that includes observations from many users, you will probably want to take into account their observation license and photo license selections. (you could probably filter out observations that have licenses that would restrict their use during export or after export.)