Printing is driving me crazy
sarahr at genesearch.com.au
Thu Mar 31 21:15:05 CST 2005
> 1. I arranged for the initialisation routine in my app to read the
> paper size and the margins and to make my stack the same size as the
> printPaperSize and my print area the same size as the page minus the
Make the card the same size as the print area i.e. the printPaperSize
less the printMargins.
Have your printable objects fill the card so there is no excess space
left at the margins of the card.
> I then attempted to construct something to print. The card to be
> printed looks perfectly OK, but the printer doubles the left margin
> from the absurdly large 72 points (more later) to a completely daft
> 144 points - at least it looks that way. This shows up even on the OSX
> preview, and even when I propose to print on a different printer,
> which makes me think it must be me, except for the screen appearance
> and dimensions of the card to be printed, which look OK. For example,
> the left hand edge of the field to be printed is definitely 72 pixels
> from the edge of the card, and the card is definitely 594 pixels wide,
> which corresponds to the width of an A4 page. I just can't guess what
> I'm doing wrong.
For testing purposes, I make a rectangle that fills the card. When
using Print preview or doing test prints, this makes it easier to work
out exactly what margins are being applied.
> 2. I find that if I run a 'Page Setup' routine by calling 'answer
> printer', I can alter the printPaperSize, even switching from portrait
> to landscape; but even if I change the margins in the OS dialog (there
> is a trick - Custom Paper Size - for doing this), they don't change
> within the RunRev environment. I suppose that I could introduce a
> dialog of my own to change the margins, but then I wouldn't know how
> near the edge I could take them (I've Bugzilla'd this one). How do
> other people cope with this?
I don't know how Rev handles you setting the margins in Page Setup..
but you can easily set them in your script:
set the printMargins to "50,50,50,50"
More information about the use-livecode