Marc Rochkind's
Apps and Books
 

An easy way to build a PDF with photos and captions, ideal for uploading to MagCloud.

MacOS-logo MacOS 10.9 or later       windows_logo Win 10 (64 bit)

Button-Download

When I return from a vacation I like to create a photo magazine containing a few dozen photos. Nothing as prestigious or expensive as a photo book, but much handier to pass around to family and friends than a phone or having them gather in front of a computer screen. The equivalent of one of those photo albums that could hold 12 or 24 4x6 prints. It's not a book you design, with custom page layouts, but rather a book that you stuff with prints as quickly as you can. (If you want a fancy book, there are many ways to create one.)

With MagCloud, the magazines are cheap. For example, I just made one with 60 photos for $6.40. (Twenty cents a page, with two photos on a page. Add two pages for the covers.) Doing a book with Blurb would cost about $25. (MagCloud is also owned by Blurb.)

You can easily create a suitable PDF with Lightroom's Print module, but I don't like the way it positions captions. For one thing, you have to reserve a fixed amount of space below each photo for the largest caption. It's better to vary the size of the photo, so the photos are bigger if the captions are short. Also, Lightroom has no provision for front and back covers, which are full-page-size photos. You have to add them to the PDF with another program, such as PDFsam Basic (free) or Acrobat (expensive). And, of course, not everyone has Lightroom.

I developed a great app for producing these magazines called ProofSheet, but it's Mac only, and I have no interest in programming a similar app for Windows. For a while I used a PHP program that I wrote that formats the pages as HTML, and then uses the browser's print facility to create the PDF. That worked fine, but it was impractical for anyone other than me to use, because it has to run locally, not on a server. Uploading the photos to a server is too cumbersome and too slow. Installing a local server is too much to ask of most people.

Recently, I wrote PhotoMag, using the portable technologies offered by Electron. It does as good a job as ProofSheet, but has fewer formatting features. (No page titles or information above the photos, only below.) It's fine for my purposes, and it might work for you, too.

If you want to use PhotoMag, it's free, and you can download it using the link above. It's for MacOS and Windows 64-bit only. I've only tested it on MacOS 10.10 and Windows 10, but it might run on earlier versions as well.

You start with PhotoMag by opening a folder of JPEGs that you've prepared for the magazine. If you want captions, they have to be inside the photos as metadata. Exporting photos from Lightroom is easiest, but how you generate them is up to you. PhotoMag will generate a simple magazine from the photos in the folder, and also generate a specification file that you can edit to change lots of parameters. The spec file contains instructions on how to modify it. The initial one looks like this:

# PhotoMag spec file

# For best results, generate JPEGs a little larger than
# needed at 300dpi and about 80% - 85% quality.
# If PDF is too large, drop resolution to 240 dpi or lower.
# Captions (if desired) must be in photo metadata.

# MagCloud.com is a good way to get your PDF printed.

# Width and height in inches.
# 5.5 x 8.5 also good size for MagCloud.
@width 8.5
@height 11

# Columns and rows.
@columns 1
@rows 2

# Caption fontsize; default is 12px.
@fontsize 12px

# Sorts file paths. Comment out if specifying @files and
# order is to be as listed.
@sort

# Rule between rows.
@rule

# page-border useful for previewing, but not for final PDF.
#@page-border

# Specification for caption. Tags in braces are replaced by EXIF or
# other data. To see what EXIF fields are available, use {all}.
# Other fields:
#	{path}: full path of file
#	{file}: file name (last component of path) without extension
#	{base}: file name with extension
#
# Example:
#	path = {path}
#	
base = {base} #
file = {file} #
ModifyDate = {ModifyDate} #
MakeModel = {Make} {Model} # # If the tag is {ImageDescriptionNoSeq}, a leading sequence number is removed # from the ImageDescription. Leading sequence number is defined as: # 1-4 digits, followed by optional spaces, followed by a hyphen, followed by # optional spaces. For example, if the ImageDescription is: # 021 - Sailing on the Chesapeake # {ImageDescriptionNoSeq} is replaced by: # Sailing on the Chesapeake @caption {ImageDescription} <br><font color=gray>{ModifyDate} <br><font color=gray>{base} @caption-end # Specify front and back covers here by uncommenting. # Same proportions as full page. #@front # ... path to front cover JPEG ... #@back # ... path to back cover JPEG ... # Individual files can be specified instead of folder. # Comment out @folder line if specifying files. # Quotes around paths are optional. Slashes can be / or \. #@files # ... path to file 1 ... # ... path to file 2 ... #@files-end @folder {folder} @end
 

 

©2006-2016 by Marc Rochkind. All rights reserved. Downloaded trials and demos may not be redistributed without written permission of the copyright holder.

ImageIngester, ImageIngesterPro, ImageVerifier, ImageReporter, Ingestamatic, ProofSheet, ExifChanger, ExifExtreme, SpanBurner, LRViewer, LRVmaker, PhotoSelectLink, PhotoApp, PhotoMag, and PhotoAppMaker are trademarks of Marc Rochkind.

WARRANTY: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Privacy Policy: The email list is never shared with any other organization and is never used for any purpose other than informing you of developments related to products available on this site. The apps here and this website never upload data to any server without your explicit permission, other than requests for content that are a necessary part of web interaction and a record of your entering an unlock code.