initial commit
This commit is contained in:
commit
c094b5770c
113 changed files with 6879 additions and 0 deletions
39
pkgs/pdf2printable/default.nix
Normal file
39
pkgs/pdf2printable/default.nix
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
writeShellScriptBin,
|
||||
pdftk,
|
||||
texlivePackages,
|
||||
}:
|
||||
|
||||
let
|
||||
_pdfjam = "${texlivePackages.pdfjam}/bin/pdfjam";
|
||||
_pdftk = "${pdftk}/bin/pdftk";
|
||||
in
|
||||
writeShellScriptBin "pdf2printable" ''
|
||||
if [ "$#" -ne 2 ]; then
|
||||
echo "Usage: $0 input.pdf output.pdf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
input_pdf="$1"
|
||||
output_pdf="$2"
|
||||
|
||||
even_pdf="even.pdf"
|
||||
even_rotated_pdf="even_rotated.pdf"
|
||||
landscape_pdf="landscape.pdf"
|
||||
odd_pdf="odd.pdf"
|
||||
|
||||
# Convert the PDF to landscape
|
||||
${_pdfjam} --landscape --nup 2x1 "$input_pdf" -o "$landscape_pdf"
|
||||
|
||||
# Split the PDF into odd and even pages
|
||||
${_pdftk} "$landscape_pdf" cat odd output "$odd_pdf"
|
||||
${_pdftk} "$landscape_pdf" cat even output "$even_pdf"
|
||||
|
||||
# Rotate the even pages by 180 degrees
|
||||
${_pdfjam} --landscape "$even_pdf" --angle 180 --outfile "$even_rotated_pdf"
|
||||
|
||||
# Merge the odd and rotated even pages
|
||||
${_pdftk} A="$odd_pdf" B="$even_rotated_pdf" shuffle A B output "$output_pdf"
|
||||
|
||||
rm "$odd_pdf" "$even_pdf" "$landscape_pdf" "$even_rotated_pdf"
|
||||
''
|
||||
Loading…
Add table
Add a link
Reference in a new issue