Comment adapter la taille de la zone de texte au texte?


19

Je souhaite adapter le plan de travail à l'art sélectionné (deux zones de texte) - les zones de texte sont plus grandes que le texte qu'elles contiennent - comment puis-je les ajuster (rétrécir) pour les enrouler étroitement autour de mon texte?

Version Illustrator - CS5

Réponses:


9

Illustrator ne dispose pas (à partir de la version 5.1) d'une fonction pratique "ajuster le cadre au contenu" comme InDesign. Sélectionnez simplement le cadre de texte et faites glisser les poignées vers l'intérieur jusqu'à ce que le cadre soit bien ajusté au texte.


15

Il s'agit désormais d'une fonction intégrée à partir de 2014 dans Adobe Illustrator CC. Vous le trouverez sous Type> Options de type de zone> Taille automatique.


Dans CC19, je ne vois pas cette option. At-il bougé? @Matt M.
FabricioG

9

Il y a un script pour ça. (c'est probablement le script auquel Joonas fait allusion - fonctionne très bien dans CS6).

(pour ensuite ajuster le tableau d'art après avoir ajusté la zone de texte, utilisez l'outil de tableau d'art et cliquez sur la zone de texte)

Avec l'aimable autorisation de Kelso Cartography qui possède de nombreux scripts (leurs scripts pour changer de point et de texte sont également fortement recommandés), vous pouvez télécharger le script Fit Text To Content ici . Il fait exactement ce qu'il dit sur l'étain - met à l'échelle (vers le haut ou vers le bas) le cadre de texte d'une zone de texte pour s'adapter à la hauteur des lignes de texte.

Voici un avant et un après de ce script, ainsi que son cousin également de Kelso Cartography, Fit Text To Content Width , redimensionnant un cadre de texte pour supprimer l'espace inutilisé (photo gracieuseté de vectips ):

entrez la description de l'image ici

Voici le code au cas où ce lien tomberait. Tous les crédits à l'auteur original. Enregistrez-le simplement en tant que fichier .js dans votre illustrator/presets/[some language code]/scriptsdossier, puis redémarrez Illustrator:

// FitToTextContent_Depth
// Nathaniel Vaughn KELSO
// Last modified: 2008.March.29
// Created: 2007.July.8 
// at Hyattsville, MD
// Version 2
// (c) nvkelso2008@gmail.com (but remove the 2008 bit)
// DESC: Fits the text frame (rectangular path shapes only!) to fit the text content. 
// DESC: Will either shrink or expand the depth of the text box as appropriate. 
// TODO: Extend to work with text on a line (PATHTEXT)
// TODO: watch for 4 point paths that are not rectangular
// TODO: watch for 4 point paths that are rotated

var includeExtraLines = 0.5;

if(documents.length > 0) {
    doc = activeDocument;
    mySelection = activeDocument.selection;

    // If there are enough to process
    if (mySelection instanceof Array)
    {
        // For each of the selected items
        for(i=0; i<mySelection.length; i++) {
            // That are textFrames
            if (mySelection[i].typename == "TextFrame" && mySelection[i].kind == TextType.AREATEXT ) {
                obj = mySelection[i];

                // We only want to do this on rectangular text areas
                // TODO: Take care of rotation issues from MakePointType script
                if( obj.textPath.pathPoints.length == 4 ) {
                    objTop = obj.top;
                    objLeft = obj.left;

                    // Make the new point type object and locate it
                    // Make sure the new object is in the same Z stacking order as the original
                    copy1 = obj.duplicate(obj, ElementPlacement.PLACEBEFORE);
                    //copy1.move(obj, ElementPlacement.PLACEBEFORE);

                    // now make the text box much bigger, but not absurdly big
                    // TODO: This could be better approximated by itterating thru all the WORDS in the textFrame and 
                    // comparing it to all the WORDS in each of the visible text LINES. Then apply the difference / total words to the scaling
                    if( copy1.height * 10 < 2000 ) {
                        copy1.textPath.height = copy1.height * 10;
                    } else {
                        copy1.textPath.height = 2000;
                    }

                    howManyLines = copy1.lines.length;

                    outlineObject = copy1.duplicate();
                    outlineObject = outlineObject.createOutline();

                    targetHeight = outlineObject.height + includeExtraLines * (outlineObject.height / howManyLines );

                    // Now assign y-axis depth of the point text to the area text box
                    rect = obj.parent.pathItems.rectangle(copy1.textPath.top, copy1.textPath.left, obj.width, targetHeight);
                    copy2 = obj.parent.textFrames.areaText(rect);
                    copy2.selected = true;
                    rect.selected = true;

                    // Always delete these intermediate objects
                    outlineObject.remove();
                    copy1.remove();

                    // Now take care of the end and original objects
                    obj.textRange.duplicate(copy2); 
                    obj.remove();   
                }
            }
        }
    }
}

Où dois-je l'installer sur Mac OS X?
Alec Jacobson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.