How to Use Automation to Conveniently Relink and Export Dozens of Yearbook Spreads: Introduction

This latest series of blog posts probably has only niche appeal, but then again, the same could be said for most of this website. So let’s just get right into it.

As the yearbook adviser at my high school, I coach students through a huge project involving tons of hours of work and, more significantly, thousands of computer files.

Because we work on things in stages, with 50 or so pages due each month, and because we need to work on things simultaneously, the 272-page yearbook is divided up into over 100 design files, most of which contain only a two-page spread. And each of those design files contains links to upwards of a dozen individual photographs. Do the math—factoring in all the photographs that don’t make it to a spread—and you can see how this starts to add up.

My program is a bit old-school. Rather than use one of the web-based applications that many yearbook publishers now offer, we design the yearbook from scratch in Adobe InDesign. Each month, we use the application’s built-in packaging tool to assemble each spread into a ZIP archive containing the design file, the necessary fonts, and all of the linked images.

These ZIP archives are sent to the publisher for an initial round of processing. A week or two later, the publisher sends us proofs in the form of full-size printouts (sent via FedEx) and a new set of InDesign files. We edit these files (occasionally adding new photos), zip them up, and send them back to the publisher. Those edited proofs eventually become physical pages, which get bound together in 1000+ hardcover books, before being trucked across the country to the school’s front door.

Once you’ve completed a book or two, this process starts to feel rather straightforward. But one thing that never feels straightforward is the effort it takes to share digital copies of the students’ work. You see, one of the most important steps of planning a yearbook is seeing all the cool things that other yearbook staffs have done. So advisers throughout the country share “slides” with one another in the form of PDFs and JPEGs so that they can be included in presentations, galleries, and more.

This need to share work digitally has become even more pressing with the advent of COVID-19. Many of us are facing significant delays in the printing and shipping of our books due not just to school shutdowns but shutdowns of printing plants as well. Consequently, many of the scholastic journalism competitions that we send our yearbooks to are accepting digital submissions this year. So now, some of us are facing the challenge of exporting our entire yearbook to PDF, and not just a few select spreads.

This might not sound so complicated, given that the entire book is already digital. The biggest problem—in my case, anyhow—is that because the printing plant breaks all the image links when they process the pages the first time around, I now need to relink the proofed version of 100+ files. I also have to go through the PDF export—and JPEG conversion—procedure for each of those files and I need to crop a whole bunch of technical garble off the bottom of each spread.

Getting that all done is a whole lot of grunt work.

In other words, this is a job for automation!

Why do the work “by hand” when the computer can do most of it for you? After playing around with things for the past couple years, I’ve finally developed a formal workflow that handles the entire process. And I’d love to share it with anyone who’s interested!


In this guide you’ll learn how to :

  1. Export all of the yearbook’s images to a single library organized by page number.
  2. Use InDesign scripts to “batch process” your yearbook spreads. This includes relinking all the images and exporting the spreads to PDF and/or JPEG.
  3. Create an action in Adobe Acrobat to crop all of your PDFs to proper specification.
  4. Create an action in Adobe Photoshop to crop and resize all of your JPEGs to proper specification.


To do this, you will need access to the following software:

  • Microsoft Windows 10: Look, I’m a proud Mac user, but we use Windows exclusively at school. So my yearbook workflows are almost always Windows-specific.
  • Adobe InDesign: All of my students’ work is created in InDesign, so the workflow is based around exporting files from this particular format.
  • Adobe Acrobat: Once the individual PDFs are exported from InDesign, Acrobat is used to crop out the technical info and stitch the whole thing into a single file.
  • Adobe Photoshop: Towards the end of the workflow, Photoshop will be used to resize the JPEGs to the desired dimensions and resolution.
  • The Windows Command Prompt: Part of this workflow involves extracting just the images, and then just the InDesign files, from 200+ ZIP files to very specific locations. The most precise way I’ve found to accomplish this requires some old-school MS-DOS command line fun.
  • 7-Zip: This is kind of like the WinZip utility from way back in the day, but it’s completely free and can handle pretty much any compressed file format you’re likely to come across. More importantly, it has a rather robust command line interface that this workflow will take advantage of.
  • Bulk Rename Utility: This is a terrifyingly complicated looking program upon first glance. But it is one of the most powerful tools I’ve encountered for doing exactly what its name suggests: renaming a whole bunch of files in bulk! It’s needed quite a few times in this workflow.
  • Peter Kahrel’s Batch-Processing Script for Indesign: InDesign is a remarkable piece of software that can do many, may things. But as far as I can tell, it doesn’t have its own batch/bulk processing capabilities even though other Adobe products, like Acrobat and Photoshop, do. This script lets users add in this valuable missing feature.
  • My Modified Version of Jeremy Howard’s InDesign Relinker Script: I’ve modified (i.e. hacked) this script so that it will take care of the image relinking without requiring any user input. My new version plays very nicely with the batch-processing script mentioned above and even leaves behind a very simple log file to help you deal with any errors. (The original version, which is not compatible with this project, is available here.)

Ready to get started? Continue on to Part 2 to learn how to export the yearbook’s photo library.