Mobile app version of vmapp.org
Login or Join
Heady304

: Illustrator: Auto-sized Text box with shaded background? I frequently create labels that follow the same format: white text on a 75% opaque black background, with 10px of margin around the text.

@Heady304

Posted in: #AdobeIllustrator #Resize #Text

I frequently create labels that follow the same format: white text on a 75% opaque black background, with 10px of margin around the text. Currently, I have to manually build these labels, which takes a lot of work.

In one method, I write the text, figure out its height and width, then create a separate rectangle and place it behind it. This takes a lot of clicking around for every label.

In the other method, I draw out a text box, select it directly, give it the correct background and margins, and then insert the text. However, I must then resize the box manually, meaning more clicking around and greater imprecision. There doesn't seem to be a way to directly select a text box once it has text inside it.

I tried using the script contained in a related answer to resize the text box to the content, but it only resizes the box vertically, and removes my color and margins.

Does anyone have suggestions on how to resolve these problems, or for a better method? I'm using CS3.

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Heady304

2 Comments

Sorted by latest first Latest Oldest Best

 

@Turnbaugh909

You really don't need any scripting for this.


Select text object with Selection Tool
Add new fill via Appearance Panel
Move new fill below characters
Highlight new fill and choose Effect > Convert to Shape > Rectangle
Enter relative amount of points/pixels/inches etc. you want the rectangle to be offset from the text
click OK
drag the text object to Graphic Styles Panel




When you need to reapply the appearance, select the text object and click the Graphic Style.

The background rectangle is relative to the size of the text object. Should the text object change in size the rectangle adjusts to match.

10% popularity Vote Up Vote Down


 

@Rambettina927

I feel like I have to say this a lot with Adobe products but ...

The most efficient answer is scripting.

You need to get the bounds of the text, draw a box based on those numbers, and position it behind the text. With some basic math and an understanding of how to get to Illustrator's various scripting objects, it's not that tough.

For starters, you need to get the points defining the object's location:

activeDocument.selection[0].geometricBounds


That will return the array [x1, y1, x2, y2]. From there you can start building and styling your box and move it behind the text object.

You could start with the script that you linked as a reference of how it's done. If you don't know javascript and Illy's scripting interface it will take some time. The upside is that the operation will take seconds each subsequent time and you'll have a whole new world of efficiency opened up to you.

The reason that script didn't do what you wanted is that you can't apply a background color to area text. It converts it to area text to do the centering, leaving you without your box styles.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme