It's been 20 years or more since I've coded any PS files so I can't help with your code. However, if you understand PS but not Xerox, I suggest you take a look at the PDL guide for the printer model you are working with as it will show you all of the available PCL and PS commands. Here is a link to one of the guides for our 8100 series, https://www.support.xerox.com/en-us/content/149085.
The PDL guide shows that <</MediaPosition int >> is the command to use to call the tray. With 1 - 6 being the tray number. So if you want to pull from tray four it should be <</MediaPosition 4 >>
I'm sure wilth a little trial and error, you'll be able to get this to work.
Tony
Hello Xamaa,
This is something you would need to speak with a Network Specialist regarding: 1-800-821-2797.
We create printfiles by gluing ps and eps files together and overlay data to print customer forms.. and then send those files to the printer.
As Printers have changes we have to adjust the scripts.. We are now looking at XEROX printers and they are very different animal..
We've built a procedure that sets the tray to print from and it needs a change..
/stray { /Pagedv exch def #ifdef :OK431 /DriverOps /ProcSet 2 copy resourcestatus{pop pop findresource Pagedv exch /setinputslot get exec}{pop pop}ifelse globaldict /OK@_CustTray 0 put #elif :O4600 /PageSub Pagedv 1 sub def currentpagedevice /InputAttributes get PageSub known{ Pagedv statusdict /setpapertray 2 copy known{ get {exec}stopped {pop}{globaldict /OK@_CustTray PageSub put}ifelse (<<) cvx exec /Policies (<<) cvx exec /PageSize 7 (>>) cvx exec (>>) cvx exec setpagedevice }{pop pop pop}ifelse }if #elif :HPPRO currentpagedevice /InputAttributes get Pagedv <</MediaPosition Pagedv >> setpagedevice #else <<currentpagedevice /InputAttributes get Pagedv get {}forall /InputAttributes << /Priority [Pagedv] >> >> setpagedevice
Xerox doesn't use a number according to the PPD it uses a string (ie Tray-1)
Pagedv is an integer so I need to append (concatenate) the literal "Tray-" onto it before we return it to the caller
> #elif :XRX
> currentpagedevice /InputAttributes get Pagedv << (Tray-Pagedv) xerox$MediaInputTray >> setpagedevice
I have a concatenate procedure I'm just not sure how to use it in this case.
/concatstrings % (a) (b) -> (ab) { exch dup length 2 index length add string dup dup 4 2 roll copy length 4 -1 roll putinterval } bind def