Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-2449

PostScript extension ps-setpagedevice with Xerox7835 printer trays

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.1
    • None
    • renderer/ps
    • 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”

      Attachments

        1. test.trays_KO_page-setup-code.fo
          1 kB
          christian.pestel
        2. test.trays_KO_page-setup-code.ps
          9 kB
          christian.pestel
        3. test.trays_KO.fo
          1 kB
          christian.pestel
        4. test.trays_KO.ps
          9 kB
          christian.pestel
        5. test.trays_ok.fo
          1 kB
          christian.pestel
        6. test.trays_ok.ps
          9 kB
          christian.pestel
        7. Trays_KO_page_1.png
          8 kB
          christian.pestel
        8. Trays_KO_page_2.png
          9 kB
          christian.pestel
        9. Trays_ok_page_1.png
          6 kB
          christian.pestel
        10. Trays_ok_page_2.png
          6 kB
          christian.pestel

        Activity

          People

            Unassigned Unassigned
            christian.pestel@orange.fr christian.pestel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: