Lorsque vous ouvrez dans Illustrator un PDF généré par InDesign ou QuarkXPress, vous avez déjà dû remarquer que les paragraphes sont toujours fractionnés en plusieurs tracés de texte, au minimum un pour chaque ligne de texte mais souvent on a même plusieurs tracés de texte contigus pour la même ligne. Si l'on ne dispose pas du fichier natif et que l'on veut pouvoir éditer le texte dans Illustrator à partir du PDF, il est plus commode d'avoir un seul objet texte de plusieurs lignes où l'on peut insérer ou supprimer des mots voire des lignes entières, modifier l'interlignage, la justification, le crénage, l'approche, etc.

Comme je vous l'avais promis dans mon premier article "Ajuster le texte au tracé" voici un script qui vous permettra de réassembler des fragments de texte pour obtenir des objets textes de plusieurs lignes.

Ce script pourrait toujours être amélioré mais il serait dommage d'attendre encore indéfiniment qu'il soit parfait pour le publier alors qu'il m'est déjà très utile depuis longtemps dans son état actuel. Je l'avais au départ intitulé "reconstituer paragraphe" mais ce script ne reconstitue pas pour l'instant des paragraphes à l'interlignage uniforme avec des lignes séparées par des ¬, mais plutôt des objets textes de plusieurs lignes séparées par des ¶ (donc des paragraphes d'une seule ligne). Etant donné mon usage intensif de ce script je ne l'ai pas doté de dialogues pour personnaliser les variables telles que le seuil d'ajout de parangonnage ou le seuil de même ligne, ce qui serait parfois utile mais ralentirait la plupart du temps son utilisation[1].

Plutôt que d'avoir à répondre à chaque fois à une boîte de dialogue j'ai donc fait deux versions de ce script :

  1. "merge-into-one-line_ai.jsx" qui cherche à fusionner tous les fragments de texte sélectionnés dans une seule ligne, en ajoutant un "décalage vertical" aux textes non alignés pour préserver l'aspect, et qui convient par exemple s'il on veut rassembler sur une même ligne des éléments de texte comportant des fragments décalés résultant d'"indices" ou "exposants".
  2. "merge-into-one-text_ai.jsx" qui n'assemble d'abord sur une même ligne que des fragment alignés verticalement (avec une tolérance de 1 pt), assemble ensuite les lignes dans un seul objet texte de plusieurs lignes, et cherche le mode d'alignement préservant le mieux la répartition horizontale initiale (fer à gauche, centré ou fer à droite) et l'interlignage préservant la répartition verticale[2].

reconstituer paragraphe ai 002

Remarque : Ce script ne gère correctement que les textes rectilignes horizontaux, n'est prévu ni pour les textes curvilignes, ni pour le texte captif, ni pour les tracés de textes affectés par une transformation et notamment par une rotation.

Cette fonctionnalité est désormais intégrée à l’extension « Text Rebuild Tools » pour Illustrator CC+

[1] Illustrator ne permet hélas pas la création de palettes scriptUI mais seulement de boîtes de dialogue auxquelles il faut répondre à chaque fois par "OK" ou "Annuler", j’ai donc ultérieurement créé un panneau HTML5.

[2] Voir une version plus évoluée dans « Text Rebuild Tools » générant de véritables paragraphes de plusieurs lignes et proposant d'agir plutôt sur d'autres paramètres tels que "retrait à gauche/à droite", "espace avant/après", "retrait de 1re ligne", etc.

Un commentaire.

  1. Félicitations pour ce script qui est vraiment un travail d'orfèvre, il n'y a rien à ajouter.

Laissez votre commentaire

En réponse à Some User

Suivez Scriptopedia.org

Divers

À propos de Scriptopedia.org

Une idée de Loic Aigon mis en page par Eddy.VH se veut être une bibliothèque de scripts pour les produits Adobe orientés PAO. Vous y trouverez des scripts de type JavaScript pour Photoshop, Illustrator, inDesign et Acrobat et de type ATN ( Actions pour Photoshop ).