Eu quero criar uma fila de impressora CUPS que aceite livros com páginas A5 e organize-os automaticamente como livretos em papel A4 antes de imprimi-los. Essencialmente, isso é feito maravilhosamente usando o seguinte pipe:
psbook -s4 | psnup -Pa5 -pa4 -2
Eu criei uma fila CUPS que usa esse pipe e tudo funciona perfeitamente, as páginas são organizadas e impressas exatamente como eu quero, exceto que a saída de psnup
confunde minha impressora e as opções de duplex são ignoradas (possivelmente < href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=168954"> erro debian 168954 ). Eu encontrei reivindicações na web que psutils está quebrado que oferecem uma solução alternativa, mas como não entendo como a solução alternativa deve ser usada, estou tentando replicar o comportamento psbook
e psnup
com outras ferramentas ( pstops
e mpage
por enquanto).
O problema é que todas as instruções sobre como criar livretos na web assumem que eu tenho páginas A4 que quero reduzir para A5 e me transformar em um livreto e, infelizmente, não estou fazendo nada tão insano. Eu quero algo mais simples - pegue as páginas A5 e organize-as nas páginas A4. A questão é como?
Eu criei as páginas a seguir para pstops
, que reduz as páginas A4:
4:[email protected](21cm,0)[email protected](21cm,14.85cm),[email protected](21cm,0)[email protected](21cm,14.85cm)
E se eu aumentar as minhas páginas A5 para A4 de antemão, funcionará. Infelizmente, tudo está um pouco fora (a escala, as bordas), e não consigo modificar o pagespec para posicionar corretamente as páginas A5.
Eu tentei colocar a página A5 no meio de uma página A4 e usar a escala @1
, mas quando eu ajustei os deslocamentos, meu texto fica cortado de qualquer maneira.
E mpage
parece ser projetado apenas para dimensionamento, não consegui encontrar uma maneira de forçá-lo a não escalar.
P.S. Verifiquei que o arquivo postscript resultante contém todas as configurações duplex antes de chegar na impressora, embora o CUPS adicione algumas delas duas vezes (porque a impressão passa por duas filas)