If you have:
client sends PDL + parameters to gateway
gateway sends PDL to real printer without parameters
and the PDL is capable of expressing some attributes ("paper size",
for example), then why not have the gateway just add the parameters to
the PDL? I know that it's extra implementation work on the part of
your gateway, but the alternative is to require the same work to be
done in all clients that want to set paper size; they will need to
either "always send paper size in the PDL" or else "negotiate over
where to set paper size and be prepared to send it in the PDL".
Is it really so much harder to take envelope parameters and embed them
in the data stream?