2011-09-08 2 views
6

Je dois utiliser Adobe InDesign pour créer des documents. Nous avons besoin d'avoir quelques variables dans le document (nom de l'entreprise, nom du projet, etc) qui doivent être remplis.Insertion par programme de données dans un document InDesign

Je me demandais s'il y avait un moyen de prendre un modèle existant et peut-être de les remplir progressivement utiliser une langue avec laquelle je suis à l'aise (Ruby, Python, etc.). J'ai essayé d'ouvrir le fichier Adobe InDesign à l'aide d'un éditeur de texte - mais lorsque je fais des modifications en utilisant Notepad ++ et que j'ouvre le fichier dans InDesign, il me dit que le fichier est corrompu.

Si vous avez un aperçu de la programmation de documents InDesign ou si vous connaissez des tutoriels qui seraient très appréciés.

PS. J'ai essayé de vérifier le ExtendScript d'Adobe mais je ne trouvais pas beaucoup de documentation s'appliquant à InDesign.

Merci pour l'aide!

Répondre

2

Il n'y a pas de moyen (légal) de le faire en Ruby/Python. Théoriquement, il est possible d'éditer des documents InDesign directement en utilisant une autre langue que:

  1. Il est loin d'être aussi facile que de simplement faire quelques modifications de texte, vous devez savoir plus sur le format et
  2. Il est en directe violation de l'accord de licence InDesign, ce qui signifie que vous pourriez faire face à une action en justice si Adobe découvre. ExtendScript est parfait pour faire de petites choses comme ceci.

Si vous ouvrez ExtendScript Toolkit et que vous définissez la cible sur InDesign, vous pouvez parcourir et rechercher facilement toute l'API. Faire une recherche/remplacement pour des variables de texte simples n'est pas difficile du tout.

Une alternative serait d'exporter les documents vers le langage .idml, ce qui est plus facile et légal à modifier en dehors d'InDesign.

+3

J'ai utilisé l'approche .idml - il s'agit essentiellement d'un fichier zip de fichiers xml et de folers. A l'intérieur, vous trouverez un fichier appelé 'designmap.xml' dans lequel InDesign définit les variables de texte. J'ai utilisé la gemme Nokogiri pour parcourir le code HTML et mettre à jour les valeurs pour les variables de texte (en fonction de leur attribut de nom) que je voulais. Je travaille maintenant à connecter ce script avec google docs. Espérons que cela aide les autres avec une situation similaire. – aren55555

+0

Cela semble être un bon moyen de le faire, mais si votre entrée est un fichier .indd, vous devez toujours utiliser InDesign pour le convertir en .idml. – MatsT

+0

Je garde mon modèle en .idml et la sortie finale est en .idml - cela fonctionne pour moi - tout ce que je fais est de l'imprimer après tout de toute façon. – aren55555

0

Vous devez convertir votre fichier .indd en .idml et le décompresser. Dans /Stories/Story_*.idml vous pouvez trouver toutes les variables de texte. Et pas moyen facile de modifier les variables de texte dans .indd sans produits Adobe.

1

Vous pouvez utiliser le DataMerge-métrage de Indesign ->https://helpx.adobe.com/indesign/using/data-merge.html

Je pense que c'est exactement ce que vous recherchez.

Ou vous pouvez utiliser l'API Indesign. Jetez un oeil à Extendscript-Toolkit, en particulier le ObjectModell-Viewer.

Questions connexes