2011-09-08 15 views
6

Tengo que usar Adobe InDesign para crear documentos. Básicamente necesitamos tener un par de variables en todo el documento (nombre de la compañía, nombre del proyecto, etc.) que deben cumplimentarse.Insertar datos mediante programación en un documento de InDesign

Me preguntaba si hay una forma de tomar una plantilla existente y tal vez rellenarlas en forma progr usando un lenguaje con el que me siento cómodo (Ruby, Python, etc.). Intenté abrir el archivo de Adobe InDesign con un editor de texto, pero cuando realizo modificaciones con Notepad ++ y luego abro el archivo en InDesign, me dice que el archivo está dañado.

Si tiene alguna idea de construir programáticamente documentos de InDesign o conocer algún tutorial que sea muy apreciado.

PS. Intenté consultar el ExtendScript de Adobe pero no encontré mucha documentación que aplicara a InDesign.

¡Gracias por la ayuda!

Respuesta

2

No hay forma (legal) de hacerlo en Ruby/Python. Teóricamente es posible editar documentos de InDesign directamente utilizando cualquier lenguaje, pero:

  1. Es lejos de ser tan fácil como hacer algunas modificaciones de texto, tendría que averiguar más sobre el formato y
  2. Está en directo violación del acuerdo de licencia de InDesign lo que significa que usted podría enfrentar acciones legales si Adobe lo descubre.

ExtendScript es perfecto para hacer cosas pequeñas como esta. Si abre ExtendScript Toolkit y establece el destino en InDesign, puede navegar y buscar toda la API fácilmente. Hacer búsqueda/reemplazo de variables de texto simples no es nada difícil.

Una alternativa sería exportar los documentos al lenguaje .idml que es más fácil y legal de editar fuera de InDesign.

+3

Utilicé el enfoque .idml - es esencialmente un archivo zip de archivos xml y folers. En su interior encontrará un archivo llamado 'designmap.xml', este archivo es donde InDesign define las variables de texto definidas. Utilicé la gema Nokogiri para recorrer el html y actualizar los valores de las variables de texto (en función de su atributo de nombre) que quería. Ahora estoy trabajando para conectar este script con google docs. Espero que esto ayude a otros con una situación similar. – aren55555

+0

Parece una buena forma de hacerlo, aunque si su entrada es en archivos .indd, aún necesita usar InDesign para convertirlos a .idml. – MatsT

+0

Guardo mi plantilla en .idml y el resultado final está en .idml - me funciona - todo lo que hago es imprimirlo después de todos modos. – aren55555

0

Necesita convertir su archivo .indd a .idml y unzi. En /Stories/Story_*.idml puede encontrar todas las variables de texto. Y no hay formas fáciles de cambiar variables de texto en .indd sin productos de Adobe.

Cuestiones relacionadas