[Gambas-user] About Printer

Demosthenes Koptsis demosthenesk at ...626...
Tue Jul 19 16:45:56 CEST 2011

On Tue, 2011-07-19 at 15:40 +0200, Benoît Minisini wrote:
> > Benoit,
> > 
> > Paint.scale work good if there is not text ..; but if there is ...
> > then text font size is increased by the scale too
> > 
> This is normal. This it the goal of that matrix: everything is scaled. I added 
> a remark about that on the "How to print" wiki page.

> Regards,

At "How to print" page says:

Consequently, if a 10 points font is a good size for drawing text on the
screen, it may be too big for the paper: as the printer resolution is
far greater than the screen resolution, you usually print things

We know that Desktop.Resolution uses 12 points Font, for example
Also we know Printer.Resolution, so  X points Font should be on printer.

I made an example
' Gambas class file

Public Sub Button1_Click()

    If Not Printer1.Configure() Then
    Printer1.Count = 1
    Printer1.FullPage = True

Public Sub Printer1_Draw()
  Dim X As Float
  Dim Y As Float
  Dim W As Float
  Dim H As Float
  Dim hFactor As Float
  Dim wFactor As Float
  hFactor = Paint.Height / Printer1.PaperHeight
  wFactor = Paint.Width / Printer1.PaperWidth
  Paint.Scale(wFactor, hFactor)
  'Set brush
  Paint.Brush = Paint.Color(Color.RGB(255, 0, 0, 0))
  Paint.LineWidth = 0.45
  'Set origin 0,0
  X = 0
  Y = 0
  'Set width, height of printing area
  W = Printer1.PaperWidth - Paint.LineWidth
  H = Printer1.PaperHeight - Paint.LineWidth
  'Draw printing area with red rectangle
  Paint.Rectangle(X, Y, W, H)
  'Draw font  
  Paint.MoveTo(10, 10 + Paint.TextExtents("toto").Height)
  Paint.Font.Name = "Times New Roman"
  Paint.Font.Size = 12 * (Desktop.Resolution / Printer1.Resolution)

You know allreay the code but check out the line
Paint.Font.Size = 12 * (Desktop.Resolution / Printer1.Resolution)

i think this line prints a good 12 points font on a pdf as i see.
Compare the result with an OpenOffice pdf. It has good success.

i attach the project.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PrintFonts.tar.bz2
Type: application/x-bzip-compressed-tar
Size: 19049 bytes
Desc: not available
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20110719/ac486aa3/attachment.bin>

More information about the User mailing list