Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 22:37
· 1 commit to master since this release

Put a title, a date and sheet numbers on your contact sheets: this release adds a header and footer, each with its own text, alignment and font size.

New

Header and footer – --header, --footer

contact-sheet --header "Roll 42" --header-align left \
  --footer "{dd}.{mm}.{yyyy} – sheet {page}" --footer-align right ~/Scans/roll-042

The header and footer are set independently:

Option Default What it does
--header TEXT, --footer TEXT none Text in the top or bottom margin of every sheet
--header-align, --footer-align center left, center or right
--header-size PT, --footer-size PT 5 Font size in points, 1 to 20; decimals such as 6.5 work

Both sit in the page margins, so they do not change how many photos fit on a page. They work with JPEG and PDF output.

Placeholders

Placeholder Replaced with
{page} Sheet number; it keeps counting across split PDF files
{dd} Current day, two digits
{mm} Current month, two digits
{yyyy} Current year

The date is the computer's local date when the run starts, so a run past midnight keeps one date on all its sheets. Anything else in braces is printed as it is.

Text that is too long

Text wider than the space between the side margins is shortened in the middle, like long file names, so a sheet number at the end stays visible. The program warns on stderr, once for the header and once for the footer rather than on every sheet:

Warning: the header is too wide for the page and was trimmed, first on sheet 1: A very long header…for the archive 1

The warning does not change the exit status.

Fixed

  • The script that generates THIRD-PARTY-LICENSES.txt no longer uses the regex substitution flagged by a CodeQL security scan (rb/incomplete-multi-character-sanitization). The script is a release tool and is not part of the program, and the generated notices are unchanged.

Install

brew install msetkowski/tap/contact-sheet   # macOS and Linux
cargo binstall contact-sheet                # prebuilt binary via Cargo
cargo install contact-sheet                 # build from crates.io (Rust 1.89+)

Or download an archive:

Platform Archive
macOS (Apple silicon) contact-sheet-v0.7.0-aarch64-apple-darwin.tar.gz
macOS (Intel) contact-sheet-v0.7.0-x86_64-apple-darwin.tar.gz
Linux (x86_64, static) contact-sheet-v0.7.0-x86_64-unknown-linux-musl.tar.gz
Linux (ARM64, static) contact-sheet-v0.7.0-aarch64-unknown-linux-musl.tar.gz
Windows (x86_64) contact-sheet-v0.7.0-x86_64-pc-windows-msvc.zip

Each archive has a .sha256 checksum next to it. On macOS, run xattr -d com.apple.quarantine contact-sheet before the first start of a downloaded binary (not needed with Homebrew).

Full Changelog: v0.6.1...v0.7.0