Postscript is not directly supported by Natural. Natural can only print plain text files. But in this plain text file formatting commands are embedded. If you do the formatting your own (eg. with PRINT (dev) formatting-string) natural will take this as printable data and reposition the print “cursor”. At least, the line number is changed. I don’t think that is, what you want. You have the following possibilities:
In the profile of the printer you can define control-sequences for the different (AD=…). If you, for example define control sequences for (AD=I) to be bold, and in Natural you use PRINT (dev) string (AD=I), Natural surrounds the string with the control sequences for bold and normal for the desired printer. You can also use any control sequence and also postscript printing commands, i think. If it is not possible, you can define your own tags and run a script against the output string to convert the output into postscript .
you can define two virtual printers e.g. 1 and 2 both pointing to the same device or file, e.g. LPT1. In your Natural Session you define your printers like:
format (contr) ps=0
you can then write your printing data to report (outp) and control sequences to report(contr). Writing to report (contr) does not influence the line count on report(outp). The disadvantage is you can only write control sequences per line.
The better case is case 1 as it does not influence program logic and you can change the underlying shell script that does the formatting for you! You can also mix both. Once at another site we used this technique to write a report header containing output destination, recipient and so on and the script read this and routed the output to the desired printer.