converter pdf de uma única página em retrato de página dupla com escala pdf

5

Estou com problemas ao usar convert para fazer o seguinte:

Eu tenho um monte de arquivos pdf de uma única página cuja geometria corresponde a uma folha A4 paisagem. O conteúdo real é dividido visualmente em duas páginas. O que eu tenho tentado fazer com cada um desses arquivos é basicamente: redimensionar para A3, na verdade dividir verticalmente no meio para obter duas páginas (tentei convert crop sem êxito), depois monte como um arquivo pdf de duas páginas feito de duas páginas A4 orientadas para retrato.

O conteúdo final deve ser o conteúdo original redimensionado por um fator sqrt(2)

[  ] -> [    ]  ->  [ | ]
        [    ]      [ | ]
 A4       A3         2xA4
lands.   lands.     portrait

O objetivo é poder imprimir o conteúdo redimensionado como 2 folhas A4 em vez de 1 A4, mas criar novos arquivos pdf seria melhor do que imprimir diretamente, já que eles podem ser reimpressos a qualquer momento e compartilhados. com outras pessoas que poderão, então, imprimi-las diretamente como pretendido.

    
por Dalker 27.07.2012 / 08:23

5 respostas

3

Veja uma variante do un2up , que usa o Python com a biblioteca pyPdf . Note que você precisa de pelo menos a versão 1.13 (versões anteriores não suportavam escalonamento). Não testado.

#!/usr/bin/env python
import copy, math, 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.scaleBy(math.sqrt(2))
    q = copy.copy(p)
    (w, h) = p.mediaBox.upperRight
    p.mediaBox.upperRight = (w/2, h)
    q.mediaBox.upperLeft = (w/2, h)
    output.addPage(p)
    output.addPage(q)
output.write(sys.stdout)
    
por 30.07.2012 / 02:52
2

Use PDFjam para fazer isso.

Veja: link

    
por 27.07.2012 / 09:48
2

Consegui resolver meu problema original usando uma solução gs com base na resposta a esta questão em superuser.com , encontrada após um link dentro de outro Q / A referido na resposta de @ Stone para a presente questão.

Aqui está uma maneira de fazer isso, colocar em um script:

#!/bin/bash
################################################################
# Make two portrait A4 sheets out of one landscape A4 sheet, by
# splitting and resizing adequately
################################################################
# solution based on: 
# https://superuser.com/questions/235074/freeware-to-split-a-pdfs-pages-down-the-middle/235401#235401
################################################################
IN=$1
OUT=$2
TMPLEFT=/tmp/left.pdf
TMPRIGHT=/tmp/right.pdf

# left side
gs -o $TMPLEFT -sDEVICE=pdfwrite -g5955x8420 -c "<</PageOffset [0 0]>>" setpagedevice -f $IN
# right side
gs -o $TMPRIGHT -sDEVICE=pdfwrite -g5955x8420 -c "<</PageOffset [-595.5 0]>>" setpagedevice -f $IN
# join
pdfunite $TMPLEFT $TMPRIGHT $OUT

Eu ainda acho que deveria haver uma maneira mais fácil, mas isso funciona e evita as falhas de ImageMagick convert .

    
por 27.07.2012 / 19:30
0

Eu gosto de psnup que faz parte dos psutils. Aqui está um HOWTO para realizar o que você está procurando:

link

    
por 27.07.2012 / 12:46
0

Para algumas páginas 11x17 a 8.5x11, é simples usar as ferramentas do Adobe Acrobat Pro.

Abrir o arquivo original ,
Definir para visualização em paisagem.
Salve arquivo com outro nome (diga algo como "Original v2p1.pdf)
Selecione guia "Avançado"
Selecione "Produção de impressão"
Selecione "Páginas de recorte"
Cortar metade da página do lado direito ou esquerdo.
Salve arquivo ("Original v2p1.pdf). Agora você tem a página 1.
Abrir "Original.pdf, o original.
Salvar arquivo com outro nome associado (a página 2 pode ser "Original v2p2.pdf)
Cortar metade da página do outro lado.
Salve arquivo ("Original v2p2.pdf). Agora você tem a página 2.

    
por 13.03.2015 / 17:09