Tengo un archivo pdf escaneado que ha escaneado dos páginas en una página virtual (página en archivo pdf).
La resolución es de buena calidad. El problema es que tengo que hacer zoom al leer y arrastrar de izquierda a derecha.
¿Hay alguna orden ( convert
, pdftk
, ...) o un script que puede convertir este archivo pdf con las páginas normales (una página del libro = una página en formato pdf)?
pdfnup
, desde elpdfjam
conjunto de aplicaciones.Respuestas:
Aquí hay un pequeño script de Python que usa la biblioteca PyPdf que hace el trabajo perfectamente. Guárdelo en un script llamado
un2up
(o lo que quiera), hágalo ejecutable (chmod +x un2up
) y ejecútelo como filtro (un2up <2up.pdf >1up.pdf
).Ignorar cualquier advertencia de desaprobación; solo los mantenedores de PyPdf deben preocuparse por eso.
Si la entrada está orientada de una manera inusual, es posible que deba usar diferentes coordenadas al truncar las páginas. Consulte ¿Por qué mi código no divide correctamente cada página en un PDF escaneado?
En caso de que sea útil, aquí está mi respuesta anterior que utiliza una combinación de dos herramientas más alguna intervención manual:
Ambas herramientas son necesarias porque, por lo que puedo decir, pdfpages no puede aplicar dos transformaciones diferentes a la misma página en una secuencia. En la llamada a
pdftk
, reemplace 42 por el número de páginas en el documento de entrada (2up.pdf
).En caso de que no tenga pdfjam 2.0, es suficiente tener una instalación de PDFLaTeX con el paquete pdfpages (en Ubuntu: necesita texlive-latex-recomendado y quizás (en Ubuntu: texlive-fonts-recomendado ), y use el siguiente controlador archivo
driver.tex
:Luego ejecute los siguientes comandos, reemplazando 42 por el número de páginas en el archivo de entrada (que debe llamarse
2up.pdf
):fuente
pdfjam
comando.q.mediaBox.lowerRight = (w, h/2)
Solo una adición ya que tuve problemas con el script python (y varias otras soluciones): para mí
mutool
funcionó muy bien. Es una adición simple y pequeña que se envía con el elegantemupdf
lector. Entonces puedes probar:Para divisiones horizontales, reemplace
y
conx
. Y, por supuesto, puede combinar los dos para obtener soluciones más complejas.Realmente feliz de haber encontrado esto (después de años de uso diario de mupdf :)
mutool
se entrega con mupdf a partir de la versión 1.4: http://www.mupdf.com/newsInstalación
mupdf
ymutool
desde la fuente:O vaya a la página de descargas para encontrar una versión más nueva.
fuente
mutool
fue hecho para esto. Además, ten cuidado-y
, creo que en la mayoría de los casos lo que quieres es-x
.Imagemagick puede hacerlo en un solo paso:
fuente
-density 400
parámetro` tiene una calidad aún mejor.El comando Convertir de ImageMagick puede ayudarlo a recortar su archivo en 2 partes. Ver http://www.imagemagick.org/Usage/crop/
Si yo fuera usted, escribiría un script (shell) como este:
Para cada página, recorte la primera mitad y póngala en un archivo llamado $ {PageNumber} A
Recorta la segunda mitad y ponla en un archivo llamado $ {PageNumber} B.
Obtiene 1A.pdf, 1B.pdf, 2A.pdf, 2B.pdf, etc.
fuente
Basado en la respuesta de Gilles y cómo encontrar el recuento de páginas PDF que escribí
Entonces puedo correr
donde 50 para ajustar el margen y 1.2 para la escala.
fuente
Aquí hay una variación del código PyPDF publicado por Gilles. Esta función funcionará sin importar la orientación de la página:
fuente
La mejor solución fue mutool ver arriba:
la división:
pero luego debes rotar las páginas a la izquierda:
fuente
Basado en la respuesta de Benjamin en AskUbuntu, recomendaría usar la herramienta GUI llamada gscan2pdf .
Importe el archivo de escaneo PDF a gscan2pdf. Tenga en cuenta que los archivos PDF que no son de imagen pueden no funcionar. Los escaneos están bien, por lo que no tiene que preocuparse.
Puede tomar un tiempo dependiendo del tamaño del documento. Espera hasta que se cargue.
Presione Ctrl + A para seleccionar todas las páginas y luego gírelas (Ctrl + Shift + C) si es necesario.
Vaya a Herramientas >> Limpiar . Seleccione Diseño como doble y # páginas de salida = 2 .
Presione OK y espere hasta que termine el trabajo.
Guarda el archivo PDF. Hecho.
fuente
La solución de moraes no funcionó para mí. El principal problema fue el cálculo x5 y x6. Aquí se debe considerar un desplazamiento, es decir, si lowerLeft no está en (0,0)
Así que aquí hay otra variación, con adaptaciones adicionales para usar PyPDF2 y python 3:
fuente