This notebook generates a PDF version of a Flickr album entitled Yigo Palms 2015-01-04 which contains images of palm trees being treated at the University of Guam Yigo Ag. Expt. Stn. I used the FlickAndShare service to create a download zip for the album at https://www.flickandshare.com/s/wm3dcm
import exifread
import os
import pandas as pd
# Get list of photos
photodir = 'Yigo_Palms_2015-01-04_0/'
filelist = os.listdir(photodir)
filelist
['view3_3.jpg', 'view1_1.jpg', 'view8_8.jpg', 'view5_5.jpg', 'view9_9.jpg', 'view2_2.jpg', 'view6_6.jpg', 'view11_11.jpg', 'view7_7.jpg', 'view12_12.jpg', 'view10_10.jpg', 'view4_4.jpg']
# Get date and time for each photo from EXIF
dt_list = []
for fn in filelist:
path_name = photodir + fn
# Open image file for reading (binary mode)
f = open(path_name, 'rb')
tags = exifread.process_file(f)
dt = str(tags['EXIF DateTimeOriginal'])
dt_list.append(dt)
dt_list
['2015:01:04 12:52:59', '2015:01:04 12:51:01', '2015:01:04 12:57:30', '2015:01:04 12:55:09', '2015:01:04 13:00:56', '2015:01:04 12:51:57', '2015:01:04 12:55:17', '2015:01:04 13:03:06', '2015:01:04 12:56:22', '2015:01:04 13:04:21', '2015:01:04 13:01:52', '2015:01:04 12:53:13']
# Create a data frame and sort by time stamp
df = pd.DataFrame()
df['fn'] = filelist
df['dt'] = dt_list
df.sort('dt', inplace=True)
df
fn | dt | |
---|---|---|
1 | view1_1.jpg | 2015:01:04 12:51:01 |
5 | view2_2.jpg | 2015:01:04 12:51:57 |
0 | view3_3.jpg | 2015:01:04 12:52:59 |
11 | view4_4.jpg | 2015:01:04 12:53:13 |
3 | view5_5.jpg | 2015:01:04 12:55:09 |
6 | view6_6.jpg | 2015:01:04 12:55:17 |
8 | view7_7.jpg | 2015:01:04 12:56:22 |
2 | view8_8.jpg | 2015:01:04 12:57:30 |
4 | view9_9.jpg | 2015:01:04 13:00:56 |
10 | view10_10.jpg | 2015:01:04 13:01:52 |
7 | view11_11.jpg | 2015:01:04 13:03:06 |
9 | view12_12.jpg | 2015:01:04 13:04:21 |
# Write a TeX file
tex = r'''
\documentclass[landscape,english]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{graphicx}
\usepackage{babel}
\begin{document}
\title{Yigo Palms}
\author{Aubrey Moore}
\maketitle
'''
for index, row in df.iterrows():
s = r'''
\pagebreak{}
\begin{figure}
\includegraphics[width=1\textwidth,height=0.9\textheight,keepaspectratio]{%s%s}
\caption{%s}
\end{figure}
'''
s = s % (photodir, row['fn'], row['dt'])
tex += s
tex += r'\end{document}'
f = open('YigoPalmAlbum.tex', 'w')
f.write(tex)
f.close()
# Generate a PDF version of the album (batchmode used to suppress output to this notebook)
!pdflatex -interaction=batchmode YigoPalmAlbum.tex
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) restricted \write18 enabled. entering extended mode
# Compress the PDF (from abot 80 Mb to about 2 Mb)
!gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=YigoPalmAlbumC.pdf YigoPalmAlbum.pdf
# Delete the bloated version of the PDF
%rm YigoPalmAlbum.pdf