# PROGRAM : proPOSITION
# VERSION : beta0.1 (30dic2010)
# AUTHOR : Felipe Rojas
# INFO & BUGS : felipe@cdigital.es
# WEB : http://sourceforge.net/projects/proposition/
QUE ES?
======================================================================
proPOSITION es un script, compuesto por 3 archivos, escrito en Ruby que sirven para imponer archivos PDF
Internamente hace uso de laTex, principalmente de sus paquetes pdfpages, geometry y watermark
También se usa pdfinfo para obtener cierta información de los archivos PDF, éste pertenece al paquete XPDF (http://www.foolabs.com/xpdf/)
La idea y la manera de usar pdfinfo vino de pdftools.rb, que aparece en las instalaciones de laTex (j.hagen@xs4all.nl, www.pragma-ade.com)
La idea original de usar laTex surgió de pdfjam (http://freshmeat.net/projects/pdfjam)
La intención fué crear un sistema de imposición muy rápido, muy versátil y potente y sobre todo muy fácil de usar,
Está enfocado principalmente al mundo de la impresión digital de pequeño formato.
El sistema ha sido probado en producción por más de dos años (www.cdigital.es / felipe@cdigital.es)
y los resultados han sido INCREIBLES !!
proPOSITION se ha mostrado muy estable y muy robusto y durante todo el tiempo de uso se han producido muy pocos fallos,
la mayoría de ellos por archivos PDF corruptos o "raros" (los que hace Corel Draw por ejemplo), PDFs sin las fuentes incrustadas, etc ...
BUGS CONOCIDOS
======================================================================
Caracteres que no se admiten en los nombres de archivo,
algunos acentos "`", o el porcentaje "%",
principalmente son los caracteres que tienen significado en laTex (% indica que lo que le sigue es un comentario)
HOJA DE RUTA
======================================================================
Actualmente estoy probando versiones superiores de proPOSITION con muchas nuevas funciones, incluso existe una rudimentaria GUI para usarlo en modo gráfico, de entre las funciones que iré añadiendo, cito algunas:
- capacidad para elegir los rangos de páginas que se usarán de cada archivo que se procesará, actualmente se usan todas,
esta función en modo texto es complicada de usar, pero en modo gráfico es muy simple y se vuelve casi imprescindible
- en esta versión los archivos que tienen "." o " "(espacio en blanco) en sus nombres provocan un error conocido, ya existe una versión en la que esto es detectado y solucionado automáticamente
- añadir marcas de sangre a las imposiciones
- personalizar el color de las marcas de corte y de sangre y elegir si todas las páginas llevarán sangre o sólo las pares o las impares.
- elegir las medidas de las marcas de corte (separación, largo) además del espacio de sangre
- añadir páginas en blanco a los archivos
- añadir bookmarks a los pdf finales
REQUISITOS
======================================================================
Es necesario tener instalado RUBY
Es necesario tener una distribución de LATEX instalada con los siguientes paquetes
hyperref, geometry, pdfpages, watermark, graphicx
además es necesario el binario pdflatex
Es necesario tener PDFINFO instalado, es una herramienta del paquete XPDF (http://www.foolabs.com/xpdf/)
pdfinfo obtiene la información necesaria de los archivos PDF que se procesan
Estas son las configuraciones que he probado ...
WINDOWS XP SP2, RUBY 1.9.2, MikTEX 2.9 (http://rubyinstaller.org, http://miktex.org)
MacOSX 10.4.11, RUBY 1.8.6, MacTEX 2008 y MacTEX 2009 (http://www.tug.org/mactex)
MacOSX 10.5.6 , RUBY 1.9.0, MacTEX 2009
Para editar los archivos, usa un editor de textos cualquiera,
recomiendo en Windows, Notepad++ y en Mac, TextWrangler
CONFIGURACIÓN
======================================================================
proPOSITION consta de 3 archivos, DATOS.rb, CONFIG.rb y proPOSITION.rb
CONFIG.rb tiene información relativa a las rutas en las que se encuentran los programas externos que son necesarios
@PDFLATEX es la ruta en la que se instala el binario pdflatex
@PDFLATEXexec es el texto que ejecuta pdflatex
@PDFINFO es la ruta en la que se instala pdfinfo
@PDFINFOexec es el texto que ejecuta pdfinfo
@TEMP es la carpeta donde el programa colocará los archivos temporales que necesita crear
@RUTAsalida es la carpeta en la que se copiarán los archivos finales de la imposición
"NO USES RUTAS CON espacios en blanco!!"
No he probado otras versiones de Windows,
Asumo que los comandos "start" y "COPY" funcionarán en versiones superiores
si no es así deben editarse sus valores en el archivo CONFIG
## @abrir = "start"
## @copiar = "COPY"
Asumo que en Linux los comandos "open" y "cp" funcionarán igual que en MacOSx,
si no es así deben editarse sus valores en el archivo CONFIG
## @abrir = "open"
## @copiar = "cp"
DATOS.rb contiene los datos de la IMPOSICION que se quiere hacer,
además de la ruta de la carpeta que contiene a los otros 2 archivos
proPOSITION.rb ejecuta los pasos necesarios para hacer la IMPOSICION
"NO edites este archivo, si no sabes lo que haces!!"
COMO USARLO
======================================================================
Copia el archivo proPOSITION.rb junto a CONFIG.rb en la ubicación que prefieras,
la ubicación que elijas será el valor de @path en el archivo DATOS.rb
Edita el archivo CONFIG.rb
Edita DATOS.rb para hacer la imposición que necesites y ejecútalo
Lee proPOSITION_howto.pdf para ver ejemplos