Converter uma folha multi-folha por página pdf para uma única folha por página

2

Meu sogro geralmente cria seus boletins informativos pré-'booked '- ou seja, duas colunas com as páginas no lugar certo, de forma que você possa imprimir e grampear o boletim informativo. Infelizmente, este mês estamos usando uma impressora que deseja um PDF não reservado - com uma página por página, na ordem correta. Eu posso reordenar as páginas com bastante facilidade, mas existe alguma maneira de obter um PDF que seja essencialmente 2-up e divida as páginas?

    
por Andrew Aylett 13.11.2012 / 20:02

1 resposta

1

para o conteúdo PDF raster e vectorial, você pode usar este meu script chamado decutshuffler

uso:

decutshuffler filename.pdf

#!/bin/bash
#a script that takes a 2-up booklet, cut in half the two halves, mix together one by one the pages from odd and even resulting pdf and finally reorder pages in sequential order
filename=$1
w="$(pdfinfo $filename | grep "Page size" | cut -d x -f1 | tr 'Page size:' ' ' | xargs)"
h="$(pdfinfo $filename | grep "Page size" | cut -d x -f2  | tr 'pts' ' ' | xargs)"
halfw="'echo "scale=0; $w / 2" | bc -l'"
pages="'pdftk $filename dump_data output |grep Pages|cut -f2 -d :'"
sed -e "s/$w $h/$halfw $h/g"<$filename>even.pdf
sed -e "s/0 0 $w $h/$w 0 $halfw $h/g"<$filename>odd.pdf
rule="$(for i in 'seq 1 $pages'; do echo -n "A$i B$i "; done)"
pdftk A=even.pdf B=odd.pdf cat $rule output interleaved.pdf
doubled="'echo "scale=0; $pages * 2" | bc -l'"
pages4="'echo "scale=0; $doubled / 2" | bc -l'"
deshuf="$(for ((x=$doubled, y=1;x>=$pages4, y<=$pages4;x--, y++)); do echo "$x $y "; done |awk '{ print ; getline ; print $2, $1 }' | tr ' ' '\n' | cat -b | sort -n +1 -2| cut -f1 | tr '\n' ' '| xargs)"
pdftk interleaved.pdf cat $deshuf output deshuffled.pdf
pdftk deshuffled.pdf output fixed.pdf && mv fixed.pdf deshuffled.pdf
echo "file created!"

echo $pages
echo $deshuf
echo "halfw is $halfw"

exit 0

este script

  1. leva o seu pdf imposto como booklet 2-up como entrada

  2. dividaopdfdeorigememsuasduasmetades,produzindoumarquivocompáginasímpareseumarquivocompáginaspares

    • link ( odd.pdf )
    • link ( even.pdf )
  3. misture odd.pdf e even.pdf juntos em um arquivo, tendo, alternadamente, página 1 de ímpar , página 1 do mesmo , página 2 do ímpar , página 2 do mesmo ... e assim por diante ...

  4. finalmente, com uma regra especial, reordena o arquivo em ordem sequencial, assim páginas, em vez de ser (para um livreto de 16 páginas)

16 1 2 15 14 3 4 13 12 5 6 11 10 7 8 9

são dispostos seqüencialmente em sua ordem natural:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

por 16.11.2012 / 19:02

Tags