Muchas veces me he encontrado con el problema de tener que imprimir un documento bastante extenso pero que sabía a ciencia cierta que su uso iba a ser efímero. Otras veces he querido imprimir un libro en el menor número de páginas posibles para hacerlo lo menos pesado posible. En todos estos casos la solución siempre pasa por imprimir más de una hoja por cara y utilizar impresión a doble cara. El problema aparece cuando estamos tratando de imprimir un PDF con unos márgenes bastante grandes que hacen que al imprimir varías páginas por cara la porción del papel que se dedica a texto sea tan pequeña que las fuentes utilizadas hacen prácticamente imposible una lectura cómoda.
Por tanto el objetivo de este post es enseñar cómo desde Linux se pueden transformar esos documentos de forma que se eliminen los márgenes y la impresión sea más amigable.
- Lo primero será convertir los PDF a PostScript. Este paso no tendría porqué ser así pero he observado que muchas veces esto hace que todo funciones como debiera. Si tu documento ya es PostScript, obviamente puedes saltarte este paso.
Instálate el Ghostscript para la manipulación de PostScript. Incluye la aplicación pdf2ps que es la que utilizaremos para la conversión. En mi Mandriva y desde el usuario root:
urpmi ghostscript-common
Una vez instalado simplemente hacer la convesión
pdf2ps mi_fichero.pdf
Esto nos generará el fichero mi_fichero.ps que utilizaremos para la conversión. - A continuación instalamos la aplicación psbind que tiene como curiosa descripción del paquete psbind – Transforma archivos PostScript para salvar árboles y reducir la culpa. Al igual que antes:
urpmi psbind
Si no disponemos del paquete podemos ir a la página del programa y descargarnos el paquete correspondiente a nuestra distribución. - Ya sólo queda utilizar el comando con nuestro PS generado:
psbind --tumble -2 --paper=a4 -P mi_impresora mi_fichero.ps
Donde –tumble indica que las páginas queremos que las encuaderne por el margen corto, -2 indica que queremos dós páginas por cara (subir el número para imprimir manuales de referencia), -paper el tamaño del papel y por último la impresora a donde queremos enviar el archivo a imprimir.
Con eso, espero que seas capaz de imprimir eliminando los márgenes en el 90% de las veces. El otro 10% problemático viene motivado porque el psbind lo único que hace es analizar los PS utilizando como muestra las 10 primeras páginas (se le pueden especificar otras) y trata de deducir las dimensiones mínimas de una caja que sea el contorno del texto para todo el documento. Ocurre a veces que la conversión de PDF a PS no facilita que el programa sea capaz de delimitar dicha caja y que los márgenes queden como están, así que en el futuro espero modificar esta entrada con más trucos y reducir ese 10% de casos fallidos.
Hola
Me ha resultado muy util este articulo.
He creado este script para el nautilus que automatiza el proceso y genera un pdf con el resultado.
En ~/.gnome2/nautilus-scripts crear un fichero «[pdf] Convertir a 2×1 sin margenes» con
#!/bin/bash
output_file_name=$( echo $1 | sed s/’\.’/»_2x1\.»/g )
output_ps_file_name=$( echo $1 | sed s/’\….$’/»_2x1\.ps»/g )
ps_file_name=$( echo $1 | sed s/’..$’/»s»/g )
cd $NAUTILUS_SCRIPT_CURRENT_URI
pdf2ps $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
psbind –tumble -2 –paper=a4 $ps_file_name $output_ps_file_name
ps2pdf $output_ps_file_name
Para usarlo en el Nautilus selecionar el pdf, pulsar el boton derecho y en Scrips seleccionar este scrip que acabamos de hacer.
Si quereis que automaticamente se eliminen los ps intermedios solo hay que añadir al final del scrip
rm $output_ps_file_name
rm $ps_file_name
Un saludo y espero que os sea util.
PAu
Comentarios por paupaupau — 31 May 2007 @ 10:05 |
Gracias por el apunte paupaupau, no conocía el hecho de que desde el nautilus se pudieran ejecutar scripts con el botón derecho. La verdad es que me va a ser muy útil.
Comentarios por ancechu — 6 julio 2007 @ 9:46 |
[…] Como remover margens brancas ao imprimir documentos PDF […]
Pingback por Como ajustar as margens em um PDF - Criarfazer.net — 1 noviembre 2019 @ 23:21 |