Como imprimir várias páginas por lado com uma página (direita) em branco?

2

O arquivo de entrada é qualquer documento pdf. Eu quero ter espaço no lado direito para escrever notas.

output.pdf parece com

!

    
por Pratik Deoghare 30.07.2013 / 09:00

3 respostas

1

A biblioteca PyPdf em Python facilita o rearranjo de páginas em um arquivo PDF. Aqui está um pequeno script que gira cada página e reduz a metade do tamanho. Aviso: não testado.

#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0,input.getNumPages())]:
    p.rotateClockwise(270)
    (w, h) = p.mediaBox.upperRight
    p.mediaBox.upperRight = (w/2, h/2)
    output.addPage(p)
output.write(sys.stdout)
    
por 31.07.2013 / 03:19
3

Para isso, você pode combinar pdftk e pdfnup :

Primeiro crie um pdf com uma página vazia (com o LibreOffice / OpenOffice, o inkscape, (La) TeX, scribus, etc.) chamado empty.pdf

Em seguida, chame seu shell ou por meio de um script de shell:

INPUTPDF=input.pdf
NUMPAGES=$(pdftk "$INPUTPDF" dump_data | grep NumberOfPages | egrep -o '[0-9]*')
pdftk "A=$INPUTPDF" B=empty.pdf cat $(for i in $(seq $NUMPAGES) ; do echo A$i B1 ; done) output output.pdf
pdfnup output.pdf
mv output-nup.pdf output.pdf

A linha de comando pdftk é expandida para:

 pdftk A=input.pdf B=empty.pdf cat A1 B1 A2 B1 [...]
    
por 30.07.2013 / 10:19
3

Além da resposta de jofel,

pdfjam também permite fazer isso diretamente, se você for criativo com suas opções.

pdfjam --landscape --offset '-8cm 0cm' document.pdf

Por padrão, a opção --landscape sem qualquer nup centralizaria a página; usando um offset negativo, você pode movê-lo para o lado esquerdo o quanto quiser (o valor ideal dependerá da sua entrada).

    
por 30.07.2013 / 11:48

Tags