![]() |
#4
|
||||
|
||||
![]()
Your attached document is not suitable for a label mailmerge, which is what you'd need. Label merges use tables and the mergefields must go in the table cells, not in shapes on the page.
As for generating curved text, that requires some complex field coding using PRINT fields, which have to be encoded to suit your particular printer's code language. For example, the following PRINT field could be use with a postscript printer to print text around a circle anywhere on the page: Code:
{PRINT \p page " /pi 3.14159265358979 def % The circletext routine describes how to print text in a circle /circletext {cirtextdict begin /radius exch def /centreangle exch def /ptsize exch def /str exch def /xradius radius ptsize 3 div sub def gsave centreangle str findhalfangle sub rotate str {/charcode exch def ( ) dup 0 charcode put placechar } forall grestore end }def /cirtextdict 20 dict def cirtextdict begin /findhalfangle {stringwidth pop 2 div 2 xradius mul pi mul div 360 mul }def /placechar {/char exch def /halfangle char findhalfangle def gsave halfangle rotate radius 0 translate 90 rotate char stringwidth pop 2 div neg 0 moveto char show grestore halfangle 2 mul rotate }def end % Define the circle's size, position and text wp$x wp$right sub wp$left add 2 div wp$y wp$top sub wp$bottom add 2 div translate /Right 0 def % Set the circle's horizontal position /Up 0 def % Set the circle's vertical position /CRadius 45 def % Set the circle's radius /TRadius CRadius 4 sub def % Position the text inside the circle /Text (The quick brown fox jumps over the lazy dog.) def /MyCircle {/saveobj save def % save current state .5 setlinewidth % set thickness of line newpath % create a new path Right Up CRadius 0 360 arc % define the circle's arc closepath stroke % close the path and draw it /Courier findfont % select the font 9 scalefont setfont % set the font size & make it current Right Up translate % set a new origin to match the circle Text % the text to output 180 rotate Text 8 270 TRadius circletext % use the circletext to write the text saveobj restore} def % restore current state % Output the result MyCircle"} There are a numerous variables in the latter parts of this code that you could adjust. First off, for a mailmerge, you'd replace the 'The quick brown fox jumps over the lazy dog.' text with your merge fields. You could also change the circle’s position, defined by the ‘Right’ and ‘Up’ coordinates, its radius ‘Cradius’ and the radius of the text ‘TRadius’ – in this case, ‘CRadius 4 sub’ puts the bottom edge of the text 4pts inside the circle, whereas ‘CRadius 5 add’ would put it 5pts outside the circle. These units are all in points. Similarly, you could change the ‘0 360’ to alter the start and end points of the arc, which you can also leave open by deleting ‘closepath’.
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
artpayne | Word | 5 | 12-03-2015 12:43 AM |
Need to superimpose curved text onto a graphic | artpayne | Drawing and Graphics | 1 | 12-01-2015 12:17 AM |
![]() |
obiwan | Word | 1 | 11-06-2014 06:55 AM |
Text animation to wrap round an object | caz46 | PowerPoint | 0 | 10-20-2012 08:01 AM |
unwanted text in a label | J J J J | Word | 0 | 11-22-2010 11:04 AM |