Repository navigation
v0.7.0
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-042The 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.txtno 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