4

How can I pad a sentence with white space so that it is printed in a 'block'.

I want to print a receipt. for a given item I want to print the quantity, item name, and price.

12 x Example short name      £2.00
 1 x This is an example of
     a long name            £10.00

The 'block' to which I refer to is shown below.

12 x |Example short name    |  £2.00
 1 x |This is an example of |
     |a long name           | £10.00

Using the example above I can easily handle the formatting of the quantity and the price. Using string formatting. Then for the item name the best method to use, I think, is to split the item name in code, and use the wrap functionality of StringTemplate, but I don't know how to pad the remainder of the line with whitespace

I am using .Net and StringTemplate 4. Here is a simplified version of the template I have. Assuming I have an item with the properties Quantity, ItemName (split into an array of strings), and Price.

<item.Quantity; format="{0,4}"> x <item.ItemName; wrap, separator=" ", anchor><item.Price; format="£{0,8}">

Now at the moment the only way I can think to get it to work is to calculate the white space in code and add it to the item name array.

So is there a neat way to do it in StringTemplate?

0 Answers0