Subject: RE: [netatalk-admins] LaserWriter 8 and Ghostscript: landscape p

From: Peter Gutowski <[email-masked]>
Date: 12 Apr 99 15:30:52 -0400

Reply to:   RE: [netatalk-admins] LaserWriter 8 and Ghostscript: landscap
jmcbray wrote:
> > I'm banging my head up against the wall again on this one.  I have two
> printers set up on a Debian GNU/Linux box with the current Debian
> package of netatalk+asun.  The two are both PCL printers; I use
> magicfilter and ghostscript to convert postscript sent by LaserWriter
> 8 on the Macs.
> > This works fine for printing in portrait mode, but not for landscape.
> When you try to print in landscape, the job gets printed in portrait
> orientation with part cut off.
> > I've tried to fix this by creating separate landscape queues with a
> line in the apropriate filter program that looks like this:
> > 0	%!		filter	/usr/bin/gs  -q -dSAFER -dNOPAUSE -r300 -sDEVICE=cdj850 > -sOutputFile=- landscap.ps - > > That is, it loads landscap.ps to rotate the file to landscape
> orientation before loading the file to be printed.  This seems to work
> for files I have created in dvips, but not for files printed from the
> Macs.  I have read the relevant entry in the FAQ-O-Matic, but it seems
> to be doing the same thing I am doing here.
> > Could it be that the Mac-produced files are not ADSC conforming?  If
> this is the problem, does anyone know how to fix it?
> > -- 
You *could* do it as you describe, or you could accomplish just about the same thing thru a well-placed addition to the PPD file.

Here are some snippits from a PPD I modified for use by a HP DeskJet 870. I print to RH Linux 2.0.36 running netatalk+asun via papd. The postscript goes to ghostscript (5.50) and then on to the printer. I ran into exactly the same problems you described and solved it by adding the following to the PPD. Unfortunately this requires a user to select the paper called "Letterwide" and to use it in TALL orientation..... don't think about it too long. It would be much more user friendly to be able to support the orientation button in "Page Setup". But for now this works!

..
*PageSize Letterwide: "statusdict /lettertray get exec"
..
*PageRegion Letterwide: "
	<<	/PageSize [612 792] 		/BeginPage {90 rotate 0 -612 transltate}
	>> setpagedevice"
..
*ImageableArea Letterwide: "15 15 777 597 "
..
*PaperDimension Letterwide: "792 612"
..

The "PageRegion" directive is the code that actually does the rotating as each new page is started.

The full ppd can be downloaded from:

ftp://ftp.powervue.com/pub/PPDs/cdj850.ppd

Peter Gutowski

Power-Vue Graphics
[email-masked]
http://www.powervue.com/~peterg