home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 October / Chip_2002-10_cd1.bin / zkuste / pdf / download / gsv43w32.exe / gsview / gsview32.exe / RCDATA / 951 next >
Text File  |  2002-04-30  |  3KB  |  114 lines

  1. /ViewerPreProcess { systemdict begin
  2.   dup length dict copy  
  3.   dup /HWResolution undef
  4.   dup /HWMargins undef
  5.   dup /Margins undef
  6.   dup /Orientation undef
  7.   dup /InputAttributes undef
  8.   dup /TextAlphaBits undef
  9.   dup /GraphicsAlphaBits undef
  10.   dup /PageSize undef
  11.   GSview /ImagingBBox get null eq 
  12.   { GSview dup /PageSize get
  13.     /Size exch put
  14.     GSview /PageOffset [0 0] put
  15.   }
  16.   { GSview dup /ImagingBBox get
  17.     [ exch
  18.     dup 0 get exch dup 2 get 3 -1 roll sub exch
  19.     dup 1 get exch 3 get exch sub 
  20.     ]
  21.     /Size exch put
  22.     GSview /Orientation get
  23.     dup 0 eq
  24.     { % portrait
  25.       GSview dup /ImagingBBox get
  26.       [ exch dup 0 get neg exch 1 get neg ]
  27.       /PageOffset exch put
  28.     }
  29.     if
  30.     dup 1 eq
  31.     { % landscape
  32.       GSview dup /ImagingBBox get
  33.       [
  34.         exch dup 1 get neg exch 2 get
  35.        GSview /Size get
  36.         0 get
  37.        sub
  38.         exch neg exch neg
  39.       ]
  40.       /PageOffset exch put
  41.     }
  42.     if
  43.     dup 2 eq
  44.     { % upside-down
  45.       GSview dup /ImagingBBox get
  46.       [ exch dup 2 get exch 3 get
  47.        GSview /Size get
  48.         dup 0 get exch 1 get
  49.         exch 3 1 roll
  50.         sub 3 1 roll
  51.         sub exch
  52.       ]
  53.       /PageOffset exch put
  54.     }
  55.     if
  56.     dup 3 eq
  57.     { % seascape
  58.       GSview dup /ImagingBBox get
  59.       [ exch dup 0 get exch 3 get
  60.        GSview /Size get
  61.         1 get sub
  62.        exch neg
  63.         exch neg exch neg
  64.       ]
  65.       /PageOffset exch put
  66.     }
  67.     if
  68.     pop
  69.   }
  70.   ifelse
  71.   dup /DisplayFormat known
  72.   { dup /DisplayFormat get 131072 and 0 eq }
  73.   { matrix defaultmatrix 3 get 0 lt }
  74.   ifelse
  75.   {flush GSview /PageOffset get dup 1 get neg 1 exch put} if
  76.   dup /TextAlphaBits GSview /TextAlphaBits get put
  77.   dup /GraphicsAlphaBits GSview /GraphicsAlphaBits get put
  78.   dup /PageSize GSview /Size get put
  79.   dup /HWResolution GSview /HWResolution get put
  80.   dup /PageOffset GSview /PageOffset get put
  81.   dup /Orientation GSview /Orientation get put
  82.   GSview /ImagingBBox get null eq 
  83.   { % create an ImagingBBox from PageSize
  84.     dup /ImagingBBox [ 0 0
  85.     GSview /PageSize get
  86.     dup 0 get exch 1 get ]
  87.     put
  88.   }
  89.   { % use supplied ImagingBBox
  90.     dup /ImagingBBox GSview /ImagingBBox get put
  91.   }
  92.   ifelse
  93.   dup /Policies << /PageSize 5 >> put
  94.   dup /InputAttributes <<
  95.     0 << /PageSize [
  96.       GSview /Orientation get
  97.       dup 0 eq
  98.       exch 2 eq 
  99.       or
  100.       { % portrait or upside down
  101.         GSview /Size get
  102.         dup 0 get exch 1 get
  103.       }
  104.       { % landscape or seascape
  105.         GSview /Size get
  106.         dup 1 get exch 0 get
  107.       }
  108.       ifelse
  109.     ]
  110.     >>
  111.   >> put
  112.   end % pop systemdict 
  113. }