La guía paso a paso o código que verás en este post es la solución más fácil y válida que hallamos a tus dudas o problema.
Solución:
Cómo imprimir una parte seleccionada de un archivo PDF
Usando el Adobe Acrobat Reader nativo
-
Asegúrese de que la barra de herramientas básica esté visible haciendo clic con el botón derecho en un área en blanco de la barra de herramientas y colocando una marca de verificación junto a Básico si aún no está habilitado.
-
Busque la “Herramienta de instantáneas” en la barra de herramientas básica y selecciónela.
-
Arrastre un cuadro alrededor del área que desea imprimir. Un mensaje le avisará que la selección se ha copiado en el portapapeles. Haga clic en Aceptar y verá una línea discontinua alrededor del área que acaba de seleccionar.
-
Haga clic en Imprimir.
-
En el cuadro de diálogo de impresión, establezca el intervalo de impresión en “Gráfico seleccionado”.
-
Si desea imprimir la selección en su tamaño previsto, establezca Escalado de página en “Ninguno”.
-
Si desea que la selección llene el papel, establezca la escala de la página en “Ajustar al papel”. Es posible que deba marcar la casilla de verificación “Girar automáticamente y centrar” para maximizar el uso de papel.
-
Cuando esté satisfecho con la vista previa, haga clic en Aceptar para imprimir el documento.
Referencias
- Cómo imprimir una parte seleccionada de un archivo PDF – about.com
Si solo necesita hacer esto una vez y para una sola página, simplemente abriría el PDF con GIMP y copiaría la mitad superior:
gimp 150264785-test-pdf.pdf
Aparecerá una pantalla que le pedirá que elija las páginas que desea importar:
Importe la primera página, luego simplemente use GIMP para seleccionar y cortar la región que le interesa, péguela como una nueva imagen y expórtela a PDF nuevamente.
eso es la mitad de un2up
(módulo a rotación). Entonces, con Python y su pyPdf
biblioteca:
#!/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)