Contrary to the previous items of the toolchain that rely exclusively on One-Pager Chords Python scripts, PDF generation is actually based on fairly standard tools.

bash [toolchain/pdf_export.sh](toolchain/pdf_export.sh) odt_dir pdf_dir

PDF generation

libreoffice --headless --convert-to pdf sample.odt
libreoffice --headless &
sleep 2
libreoffice --headless --convert-to pdf sample.odt

Tagging PDF with Artist and Title

This step relies on exiftool tag operations. The -csv option allows to batch import tags from a CSV file into multiple files.

A One-Pager Chords toolchain utility bash script can take care of it all:

bash [toolchain/pdf_tag.sh](toolchain/pdf_tag.sh) sample.pdf

Compression of PDF files

qpdf sample.pdf --object-streams=generate --linearize output.pdf

Merging of PDF files

To merge multiple PDF files into one compressed PDF file, you can use:

qpdf --empty \
     --pages sample1.pdf \
             sample2.pdf \
             sample3.pdf -- \
     --object-streams=generate --linearize output.pdf