Para imprimir um documento de 8 páginas da maneira desejada, você pode usar a seguinte ordem de impressão para uma impressão de livreto: 1,2,5,6,7,8,3,4 = > (4,1) (2,3) (8,5) (6,7)
Como você pode ver, você não estaria usando intervalos, mas sim páginas individuais. Se você observar o que realmente acontece, estará empilhando seus pares de páginas de dentro para fora e invertendo a ordem de todas as páginas da frente. No exemplo a seguir, FP significa página inicial e BP para página de retorno:
- FP 1 (4,1) = > 1, 4
- BP 1 (2,3) = > 1,2, 3,4
- FP 2 (8,5) = > 1,2,5, 8,3,4
- BP 2 (6,7) = > 1,2,5,6, 7,8,3,4
Se você quiser seguir esse caminho, pode preparar uma string para o tamanho normal do documento e, para documentos mais curtos, pode cortar apenas parte dela.
Uma abordagem alternativa, semelhante, mas que pode lhe dar menos dor de cabeça, é usar a opção "Várias páginas por folha". Nesse caso, basta nomear os pares na ordem que você deseja que sejam impressos. Então você não precisa alterar a ordem das suas primeiras páginas e apenas nomeá-las na ordem desejada. Então, para o exemplo de 8 páginas, seria: 4,1,2,3,8,5,6,7
Novamente, você pode ver um padrão aqui. Divida o número de páginas pelo número de folhas e mova o último número do intervalo para a frente dele.
- 8/2 = > 1-4,5-8
- (1-4) (5-8) = > 4,1-3, 8,5-7
Se observar cuidadosamente a opção de livreto, os pares de páginas serão os mesmos, mas a criação da string será mais complexa.
Um exemplo para 16 páginas:
Para obter os pares, vamos usar a segunda opção, porque precisamos deles de qualquer maneira para a opção de livreto.
- 16/4 = > 1-4, 5-8, 9-12, 13-16
- (1-4) (5-8) (9-12) (13-16) = > 4,1-3, 8,5-7, 12,9-11, 16,13-15
A transformação do livreto seria semelhante à seguinte.
- FP 1 (4,1) = > 1, 4
- BP 1 (2,3) = > 1,2, 3,4
- FP 2 (8,5) = > 1,2,5, 8,3,4
- BP 2 (6,7) = > 1,2,5,6, 7,8,3,4
- FP3 (12,9) = > 1,2,5,6,9, 12,7,8,3,4
- BP 3 (10,11) = > 1,2,5,6,9,10, 11,12,7,8,3,4
- FP 4 (16,13) = > 1,2,5,6,9,10,13, 16,11,12,7,8,3,4
- BP 4 (14,15) = > 1,2,5,6,9,10,13,14, 15,16,11,12,7,8,3,4
Com a abordagem apresentada nesta resposta, você terá problema se tiver um número de páginas que não seja divisível por 4 sem um resto. Se você tiver um resto como o seu documento de 78 páginas (78/4 = > 19,5), você terminará com algumas páginas vazias no meio do documento. Você pode escrever um script simples para gerar a ordem das páginas. Para a opção "Várias páginas por folha", pode ficar assim no PowerShell:
$pageNumbers = @(1..16)
$numberOfPages = $pageNumbers.length/4
$i = 0;
while($i -lt $pageNumbers.length){
$lastPage = $pageNumbers[$i+$numberOfPages-1];
# Shift all the numbers by one to the right
for($j = $i+$numberOfPages-1; $j -gt $i; $j--){
$pageNumbers[$j] = $pageNumbers[$j-1];
}
$pageNumbers[$i] = $lastPage;
$i += $numberOfPages;
}
Write-Output ($pageNumbers -join ',')