Converter PDF 2 lados por página para 1 lado por página

11

Como posso converter um PDF com 2 lados por página para 1 lado por página?

    
por user13910 11.10.2009 / 23:15

7 respostas

21

OK, o problema já foi resolvido com a ajuda do Acrobat (versão completa, não Reader). Mas o que fazer se você não tiver acesso ao Acrobat? Isso poderia ser feito com o Ghostscript e o pdftk também?

Como resolver isso com a ajuda do Ghostscript ...

... e por diversão, não vamos usar um arquivo de entrada com páginas "double-up", mas uma com "treble-up". Na verdade, recebi um PDF hoje por email. Foi um panfleto, dobrado em Esquema de Leporello . O tamanho da folha era paisagem A4 (842pt x 595pt), e foi dobrado e colocado assim:

Front side to be printed, page 1 of PDF
+--------+--------+--------+   ^
|        |        |        |   |
|   5    |   6    |   1    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
         ^        ^
        fold     fold
         v        v
+--------+--------+--------+   ^
|        |        |        |   |
|   2    |   3    |   4    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
Back side to be printed, page 2 of PDF
<---------- 842 pt -------->

Eu quero criar 1 PDF com 6 páginas, cada uma com o tamanho incomum de 280.67pt x 595 pt.

Primeiro passo

Vamos primeiro extrair as seções à esquerda de cada uma das páginas de entrada:

gswin32c.exe ^
    -o left-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [0 0]>> setpagedevice" ^
    -f myflyer.pdf

O que esses parâmetros fazem?

  • -o ...............: Nomeia o arquivo de saída. Implicitamente também usa -dBATCH -dNOPAUSE -dSAFER .
  • -sDEVICE=pdfwrite : queremos PDF como formato de saída.
  • -g................: define o tamanho da mídia de saída em pixels. A resolução padrão do pdfwrite é de 720 dpi. Por isso, multiplique por 10 para obter uma correspondência para PageOffset.
  • -c "..............: pede ao Ghostscript para processar o trecho de código PostScript fornecido antes do arquivo de entrada principal (que precisa seguir com -f ).
  • <</PageOffset ....: configura o deslocamento da imagem da página no meio. (Claro que, para as páginas da esquerda, a mudança de [0 0] não tem efeito real.)
  • -f ...............: processa este arquivo de entrada.

Qual foi o resultado do último comando?

Este aqui:

Output file: left-sections.pdf, page 1
+--------+  ^
|        |  |
|   5    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: right-sections.pdf, page 2
+--------+  ^
|        |  |
|   2    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

Segundo passo

Agora vamos fazer o que é análogo para as seções centrais:

gswin32c.exe ^
    -o center-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [280.67 0]>> setpagedevice" ^
    -f myflyer.pdf

Resultado:

Output file: center-sections.pdf, page 1
+--------+  ^
|        |  |
|   6    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: center-sections.pdf, page 2
+--------+  ^
|        |  |
|   3    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

Terceiro passo

Por último, as seções certas:

gswin32c.exe ^
    -o right-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [561.34 0]>> setpagedevice" ^
    -f myflyer.pdf

Resultado:

Output file: right-sections.pdf, page 1
+--------+  ^
|        |  |
|   1    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: right-sections.pdf, page 2
+--------+  ^
|        |  |
|   4    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

Última etapa

Agora combinamos as páginas em um arquivo:

pdftk.exe ^
  A=right-sections.pdf ^
  B=center-sections.pdf ^
  C=left-sections.pdf ^
  cat A1 B2 C2 A2 B1 C1 ^
  output single-files-input.pdf
  verbose

Concluído. Aqui está o resultado desejado. 6 páginas diferentes, tamanho 280.67x595.

Resultado:

+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   ^
|        |  |        |  |        |  |        |  |        |  |        |   |
|   1    |  |   2    |  |   3    |  |   4    |  |   5    |  |   6    |   |
|        |  |        |  |        |  |        |  |        |  |        | 595 pt
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   v
< 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt > 
    
por 16.09.2010 / 00:25
3

@peims, obrigado. Aqui está a versão passo a passo do seu método. Eu tentei em um arquivo que eu queria converter para o meu Kindle DX, e funciona perfeitamente:

  • Use a versão completa do Acrobat v9 para recortar o lado esquerdo da página e salve-a como "left.pdf":
    • Use a ferramenta de corte para marcar o lado esquerdo da página.
    • Clique com o botão direito e selecione "Definir Cropbox".
    • Selecione "Documentos ... Páginas da página" e aplique o recorte ao documento inteiro.
  • Repita com as páginas do lado direito, salve como "right.pdf".
  • Nesta fase, você tem dois documentos: "left.pdf" com as páginas do lado esquerdo e "right.pdf" com as páginas do lado direito.

Em seguida, use o pdftk.exe (do link ) para intercalar os resultados em um único arquivo. Copie "pdftk.exe", "left.pdf" e "right.pdf" para "D: \" e execute:

  • D: > pdftk D: \ left.pdf saída de estouro% 05d_A.pdf
  • D: > pdftk D: \ right.pdf saída de estouro% 05d_B.pdf
  • D: > pdftk * _ ?. saída de cat pdf combinada.pdf

Nota: se você copiar os arquivos para "C: \", não funcionará no Win 7 devido a permissões de segurança. Se você não tiver um D: \, crie um diretório "C: \ x" para concluir a operação.

Estes resultados normalmente seriam bons o suficiente. No entanto, existem mais dois passos opcionais para melhorar o resultado.

  • (etapa final opcional 1) Neste estágio, o documento é enorme (meu doc passou de 7MB para 80MB), portanto, você pode reduzir o tamanho do arquivo usando:
    • "Avançado..PDF Optimizer" ou:
    • "Avançado..Preflight" com a configuração "Compatível com o Acrobat 5".
  • (etapa final opcional 2) As páginas são de tamanhos diferentes. Repita o recorte em todas as páginas, então tudo é um tamanho uniforme.
por 31.08.2010 / 10:27
3

Apenas tive o mesmo problema. Eu me deparei com briss, uma ferramenta GUI java de código aberto para separar e recortar páginas de pdf:

link

Funcionou muito bem para mim, no Linux, mesmo que a interface do usuário não seja completamente trivial. Até trabalhou com um pdf com algumas páginas de tamanhos diferentes!

    
por 09.06.2013 / 00:42
2

Você pode duplicar o documento e, em seguida, recortar as páginas para que apenas os números de página pares sejam exibidos em um arquivo e apenas os números de páginas ímpares no outro. Em seguida, divida os arquivos em páginas únicas e recombine para criar um documento com lados únicos em uma página ...

Você pode fazer isso usando vários métodos, por exemplo:

  1. Use a ferramenta de corte Adobe Acrobat para recortar um lado da página dupla e aplicar o recortar todas as páginas.
  2. Divida os arquivos em páginas individuais usando o comando 'burst' em pdftoolkit
  3. Renomeie os arquivos sequencialmente usando uma ferramenta de renomeação de arquivos (por exemplo, ReNamer )
  4. Recombine as páginas usando o comando 'cat' em pdftoolkit
por 12.10.2009 / 00:34
2

Eu uso o seguinte script para processar livros digitalizados no Mac e no Linux. Isso pode consumir bastante memória.

#!/bin/bash
#
# This script processes scanned books. After scanning the books have been cropped with
# Preview. This does kind of a "soft crop" that we need to make a bit "harder". 
#
# The second step is to take each page of the PDF and split this into two two pages, 
# because each page of the scanned document actually contains two pages of the book.
#
#

FILE='mktemp'.pdf
FILE2='mktemp'.pdf
FILE3='mktemp'.pdf

echo "Making a temporary copy of the input file."

cp $1 $FILE

#
# Start cropping
#

echo "Cropping the PDF"

# The first regex removes all boxes but CropBox. The second regex renames the  CropBox as MediaBox

perl -pi.bak -e 's/\/(Media|Bleed|Art|Trim)Box[\n\l\f\s]*\[(.+?)\]//msg;' $FILE
perl -pi.bak -e 's/CropBox/MediaBox/g;' $FILE

echo "Validating the PDF"

#Run PDFTK to ensure that the file is OK

cat $FILE | pdftk - output $FILE2

#
# Done cropping, start splitting the pages
#

echo "Splitting the pages in two and changing to 200 dpi with imagemagick. Output goes to $FILE3"

convert -density 200  $FILE2 -crop 50%x0 +repage $FILE3

#
# Done spliting, copy the result in a new file
#


mv $FILE3 $1.pages.pdf
    
por 21.10.2012 / 21:48
1

Obrigado por uma ótima referência. Eu estava em um problema semelhante, mas queria compartilhar o que funcionou para mim.

Eu tinha um tablóide pdf orientado para paisagem com texto orientado para retrato apenas no lado esquerdo. Essencialmente tablóide 2-up faltando algum conteúdo no lado direito da página. Ponto de partida semelhante, mas o tablóide é 792 × 1224 (Retrato), 1124 x 792 (Paisagem) e a definição do ponto para o tablóide de 1/2 que eu precisava era de 612 x 792 pontos.

"C:\Program Files\gs\gs9.10\bin\gswin64c.exe" -o left2.pdf -sDEVICE=pdfwrite -g6120x7920 -c "<</PageOffset [0 0]>> setpagedevice" -f "RFP.pdf"

Peguei o conteúdo que eu precisava em um retrato de 8,5 x 11, muito mais legível.

    
por 17.12.2015 / 20:15
0

O que eu entendo é que um arquivo PDF mostrando duas páginas (lado a lado em uma folha) precisa ser convertido em uma página por folha, resultando em duas folhas de arquivo PDF. Em outras palavras, se houver um total de trinta páginas em 15 folhas, precisamos converter o arquivo PDF em um arquivo PDF de trinta folhas, cada uma mostrando uma página. Se este é o problema, usei o Adobe acrobat XI PRO "ferramenta de extração de página", especificando números de página de 1 a 30

    
por 21.12.2013 / 07:21