Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.1
-
None
-
None
Description
With LaserJet, trays PostScript instruction are
for Tray 1 : /MediaPosition 1
for Tray 2 : /MediaPosition 2
With Xerox :
for Tray 1 : (tray1) xerox$MediaInputTray
for Tray 2 : (tray2) xerox$MediaInputTray
Here is an extract of my IF file (Intermediate Format) for LaserJet :
PS file for LaserJet :
Page 1 :
%FOPBeginSetPageDevice
<<
/PageSize [595 842]
/MediaPosition 1
/ImagingBBox null
>> setpagedevice
%FOPEndSetPageDevice
Page 2 :
%FOPBeginSetPageDevice
<<
/PageSize [595 842]
/MediaPosition 2
/ImagingBBox null
>> setpagedevice
%FOPEndSetPageDevice
PS file for Xerox :
Page 1 :
%FOPBeginSetPageDevice
<<
/PageSize [595 842]
(tray1) xerox$MediaInputTray <===== correct/ImagingBBox null
>> setpagedevice
%FOPEndSetPageDevice
Page 2 :
%FOPBeginSetPageDevice
<<
/PageSize [595 842]
(tray1) xerox$MediaInputTray <===== incorrect
(tray2) xerox$MediaInputTray <===== only this line is correct
/ImagingBBox null
>> setpagedevice
%FOPEndSetPageDevice
I have analysed the fop source code.
In fact, Fop use a key/Value HashTable and all new key/value are cumulative.
With LaserJet
Page 1 : key=/MediaPosition and value=1 => Fop write in PostScript : “/MediaPosition 1”
Page 2 : key=/MediaPosition and value=2 => Fop write in PostScript : “/MediaPosition 2”
With Xerox :
Page 1 : key=(tray1) and value=xerox$MediaInputTray => Fop write in PostScript : “(tray1) xerox$MediaInputTray”
Page 2 : key=(tray2) and value=xerox$MediaInputTray => Fop write in PostScript all keys/values : “(tray1) xerox$MediaInputTray” + “(tray2) xerox$MediaInputTray”