Como posso imprimir metade de uma página em um arquivo pdf?

6

Eu tenho um arquivo PDF de uma página com documentos digitalizados. Preciso enviar apenas a metade superior deste documento para alguém. Como posso gerar um novo documento PDF com apenas a metade superior da página original, sem perder detalhes?

    
por Grzenio 21.10.2013 / 15:18

5 respostas

4

Como imprimir uma parte selecionada de um arquivo PDF

Usando o Adobe Acrobat Reader nativo

  1. Verifique se a barra de ferramentas básica está visível clicando com o botão direito do mouse em uma área em branco da barra de ferramentas e colocando uma marca de seleção ao lado de Básico, se ainda não estiver ativada.

  2. Encontre a "Ferramenta Instantâneo" na barra de ferramentas Básica e selecione-a.

  3. Arraste uma caixa ao redor da área que você deseja imprimir. Uma mensagem irá alertá-lo de que a seleção foi copiada para a área de transferência. Clique em OK e você verá uma linha tracejada ao redor da área que você acabou de selecionar.

  4. Clique em Imprimir.

  5. Na caixa de diálogo de impressão, defina a impressão como "Gráfico selecionado".

  6. Se você quiser imprimir a seleção no tamanho pretendido, defina o Escalonamento de página como "Nenhum".

  7. Se você quiser que a seleção preencha o papel, defina o dimensionamento da página para "Ajustar ao papel". Pode ser necessário marcar a caixa de seleção "Auto-rotação e centralização" para maximizar o uso de papel.

  8. Quando estiver satisfeito com a visualização, clique em OK para imprimir o documento.

Referências

por 21.10.2013 / 16:22
3

Se você precisar fazer isso apenas uma vez e por uma única página, basta abrir o PDF com o GIMP e copiar a metade superior:

gimp 150264785-test-pdf.pdf

Isso abrirá uma tela pedindo que você escolha as páginas que deseja importar:

Importe a primeira página, depois use o GIMP para selecionar e recortar a região em que você está interessado, cole-a como uma nova imagem e exporte para PDF novamente.

    
por 21.10.2013 / 16:24
3

Essa é a metade de un2up (modulo a rotation) . Então, com o Python e sua biblioteca pyPdf :

#!/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())]:
    (w, h) = p.mediaBox.upperLeft
    p.mediaBox.lowerLeft = (w, h/2)
    output.addPage(p)
output.write(sys.stdout)
    
por 21.10.2013 / 18:45
0

Usando o pyPdf 1.13

#!/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())]: q = copy.copy(p) (w, h) = p.mediaBox.upperRight p.mediaBox.upperRight = (w, h/2) q.mediaBox.lowerRight = (w, h/2) output.addPage(p) output.addPage(q) output.write(sys.stdout)

    
por 23.12.2014 / 00:16
0

Como o pyPdf é abandonado, atualizei isso para usar o fork do PyPDF2 que é oficialmente incentivado

This page is no longer updated. I've stopped maintaining pyPdf, and a company named Phaseit has forked the project and continued development and maintenance with my blessing as pyPdf2 ( http://knowah.github.com/PyPDF2/).

Além disso, como queria envolvê-lo em um shell script, usei argumentos de linha de comando.

#!env python
import copy, sys
from PyPDF2 import PdfFileWriter, PdfFileReader
input = PdfFileReader(open(sys.argv[1], 'rb'))
output = PdfFileWriter()
for p in [input.getPage(i) for i in range(0, input.getNumPages())]:
    (w, h) = p.mediaBox.upperLeft
    p.mediaBox.lowerLeft = (w, h/2)
    output.addPage(p)
output.write(open(sys.argv[2], 'wb'))
    
por 25.06.2017 / 18:04

Tags