2011-09-08 8 views
6

Devo utilizzare Adobe InDesign per creare documenti. Fondamentalmente abbiamo bisogno di avere un paio di variabili in tutto il documento (nome della società, nome del progetto, ecc.)Inserimento programmato di dati in un documento InDesign

Mi stavo chiedendo se c'è un modo per prendere un modello di esisitng e magari completarlo in modo programmatico usando una lingua con cui mi sento a mio agio (Ruby, Python, ecc.). Ho provato ad aprire il file Adobe InDesign usando un editor di testo, ma quando apporto le modifiche usando Notepad ++ e poi apro il file in InDesign, mi dice che il file è corrotto.

Se si dispone di informazioni dettagliate sulla creazione di documenti InDesign in modo programmatico o su qualsiasi tutorial che sarebbe molto apprezzato.

PS. Ho provato a controllare ExtendScript di Adobe ma non trovavo molta documentazione applicabile a InDesign.

Grazie per l'aiuto!

risposta

2

Non c'è un modo (legale) per farlo in Ruby/Python. Teoricamente è possibile modificare i documenti InDesign direttamente utilizzando qualsiasi lingua, ma:

  1. E 'neanche lontanamente facile come solo facendo alcune modifiche del testo, si dovrebbe capire di più sul formato e
  2. E' in diretta violazione del contratto di licenza InDesign che potrebbe comportare un'azione legale in caso di scoperta di Adobe.

ExtendScript è perfetto per fare piccole cose come questa. Se apri ExtendScript Toolkit e imposti il ​​target su InDesign, puoi sfogliare e cercare facilmente l'intera API. Fare ricerca/sostituzione per semplici variabili di testo non è affatto difficile.

Un'alternativa sarebbe l'esportazione dei documenti nella lingua .idml che è più semplice e legale da modificare al di fuori di InDesign.

+3

Ho usato l'approccio .idml - è essenzialmente un file zip di file xml e folers. All'interno troverai un file chiamato 'designmap.xml', dove InDesign definisce le variabili di testo definite. Ho usato la gemma Nokogiri per attraversare l'html e aggiornare i valori per le variabili di testo (in base all'attributo del nome) che volevo. Ora sto lavorando per connettere questo script con google docs. Speriamo che questo aiuti gli altri con una situazione simile. – aren55555

+0

Sembra un buon modo per farlo, anche se se il tuo input è .indd devi ancora usare InDesign per convertirli in .idml. – MatsT

+0

Conservo il mio modello in .idml e l'output finale è in .idml - funziona per me - tutto ciò che sto facendo è la stampa successiva comunque. – aren55555

0

È necessario convertire il file .indd in .idml e decomprimerlo. In /Stories/Story_*.idml è possibile trovare tutte le variabili di testo. E nessun modo semplice per modificare le variabili di testo in .indd senza i prodotti Adobe.

1

È possibile utilizzare la DataMerge-caratteristica di Indesign ->https://helpx.adobe.com/indesign/using/data-merge.html

Penso che questo sia esattamente quello che stai cercando.

Oppure è possibile utilizzare l'API Indesign. Dai un'occhiata a Extendscript-Toolkit in particolare ObjectModell-Viewer.

Problemi correlati