Adicione a medianiz (margem de encadernação) ao arquivo PDF existente

4

Como posso adicionar uma margem de medianiz (diferente para páginas ímpares e pares) a um documento PDF para que haja espaço para fazer um furo após eu imprimi-lo? Estou familiarizado com o Ghostscript e o Linux Terminal, mas não consegui encontrar comandos para atender a essa necessidade específica.

Atualmente, alguns conteúdos estão muito próximos da borda. Eu poderia usar o dimensionamento na caixa de diálogo de impressão para criar espaço para a encadernação, mas isso reduziria o tamanho mais do que o absolutamente necessário e deixaria uma lacuna nos dois lados da página.

Uma solução que simplesmente adiciona um centímetro extra a qualquer lado da página (esquerda para páginas ímpares e direita para o mesmo) seria adequada aqui, pois eu posso escolher o recurso "dimensionar para ajustar" ao imprimi-lo.

A minha pergunta foi marcada inicialmente como uma cópia de esta , mas nenhuma das respostas resolve o meu problema. Eu tentei usar o Briss e o PDF Scissors, mas eles são ferramentas de corte de PDF e só podem tornar as páginas menores, não maiores. Minha pergunta também é diferente porque preciso redimensionar de maneira diferente em páginas ímpares e pares. O consulente da pergunta original não tinha esse requisito.

    
por HullCityFan852 21.04.2015 / 19:43

1 resposta

5

Eu pretendo expandir isso em uma resposta adequada quando tiver tempo, mas aqui está a solução que encontrei, caso alguém precise disso nesse meio tempo. A idéia é usar o Ghostscript com a opção -c para modificar o arquivo PDF usando o PostScript personalizado.

Primeiramente, você precisa saber a altura e a largura do PDF original em Pontos (existem 72 pontos em uma polegada). Você poderia usar a ferramenta "pdfinfo" para encontrar esta informação:

pdfinfo "inputFile.pdf"

Digamos que você tenha um documento A4 - A4 é 595pts × 842pts (210 mm × 297 mm).

Se você quiser adicionar uma medianiz de 10 mm (= 1 cm = 28pts) ao documento A4, então você precisa fornecer as seguintes informações ao Ghostscript:

-dDEVICEHEIGHTPOINTS=842 (altura de A4)
-dDEVICEWIDTHPOINTS=623 (= 595 + 28, ou seja, largura de A4 + a calha a ser adicionada)
{28 0 translate} {} ({deslocar páginas ímpares 28pts para a direita & 0pts para cima} {não fazer nada para páginas pares})

Nota: Especificar a largura aumentada adiciona espaço ao lado direito da página, portanto, são apenas as páginas ímpares que devem ser traduzidas - as páginas pares já estão dispostas corretamente.

Aqui está o comando completo para o Linux:

gs -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=outputFile.pdf \
  -dDEVICEWIDTHPOINTS=623 -dDEVICEHEIGHTPOINTS=842 -dFIXEDMEDIA \
  -c "<< /CurrPageNum 1 def /Install { /CurrPageNum CurrPageNum 1 add def
   CurrPageNum 2 mod 1 eq {28 0 translate} {} ifelse } bind  >> setpagedevice" \
  -f "inputFile.pdf"

Nota: Este comando torna o PDF 1 cm mais largo que o A4. Se você imprimir em A4, tudo será dimensionado para caber e a calha será um pouco mais fina que 1cm (será 9,5mm). Se isso não for bom o suficiente, você terá que fazer um pouco de álgebra para obter o deslocamento correto. Nesse caso, seria 29.8pts, em vez de 28pts, para obter uma medianiz impressa de 10,0 mm (você também precisaria definir -dDEVICEWIDTHPOINTS=624.8 ). No entanto, se a medianiz for menor que ~ 2cm, provavelmente não vale a pena fazer o cálculo, especialmente considerando as tolerâncias de impressão e tamanho do papel.

    
por 23.04.2015 / 18:02