[Gambas-user] Printing with Gambas and the IDE

Fabien Bodard gambas.fr at gmail.com
Tue Jul 9 22:20:24 CEST 2019


Le mar. 9 juil. 2019 20:21, Benoît Minisini <g4mba5 at gmail.com> a écrit :

> Hi people,
>
> To add printing feature to the IDE code and text editor, I created a new
> component named 'gb.form.print' that provides a generic preview and
> printing dialog, and some features to make drawing the page contents a
> bit easier.
>
> 1) Instead of calling MyPrinter.Print(), you call MyPrinter.Preview().
>
> 2) You have to implement the Begin, End, Paginate and Print events the
> same way as before.
>
> 3) The Paint device is automatically scaled and translated so that width
> and height are in 1/10th of millimeters, and represent the printing zone
> without the margins.
>
> For example, a, A4 portrait page with 1 cm margin at each border will
> create a paint device whose width is 1900 and height 2770.
>
> 4) Thanks to the new Paint.FontScale property, using a 10 point size
> font will always draw a 10 point size font wherever we are drawing: to
> the screen, a PDF file, or a printer.
>
> Beware: at the moment it works only if you *assign* the font to the
> Paint.Font property, because this is the only moment the Paint.FontScale
> is applied.
>
> For example :
>
> hFont = Font["Monospace,10"]
> Print hFont.Size ' ==> 10
> Paint.FontScale = 2
> Paint.Font.Size = hFont
> Print Paint.Font.Size ' ==> 20
>
> This is really a trick at the moment. I had to do that because font size
> is supposed to be absolute, but this is really the case only if you use
> the font on a screen. Otherwise this can be false. Thanks Microsoft for
> that mess.
>
> 5) The GTK components have been fixed so that printing works and behave
> the same as with QT components.
>
> 6) The preview dialog is a fork of the 'gb.report2' preview dialog made
> by Fabien Bodard. It is based on his DocumentView control that I fixed a
> bit by the way.
>
> 7) It's not tested a lot. I even didn't test it on a real printer yet!
>
> Please report any problem and ask questions if needed, as usual.
>
> Regards,
>

 I will take a look and test it 😊

-- 
> Benoît Minisini
>
> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20190709/36fe2b5b/attachment.html>


More information about the User mailing list