Generare un file PDF da una DrawingArea
Da Gambas-it.org - Wikipedia.
Versione del 4 giu 2024 alle 18:51 di Vuott (Discussione | contributi)
Per generare un file PDF dal disegno mostrato sulla superficie di una DrawingArea, si può fare riferimento generico al seguente esempio:
Private printer1 As Printer Private DrawingArea1 As DrawingArea Private im As Image Public Sub Form_Open() With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1" .X = 0 .Y = 0 .W = Me.W .H = Me.H .Background = Color.White End With ' Crea un'immagine delle medesime fattezze della "DrawingArea": im = New Image(DrawingArea1.W, DrawingArea1.H, DrawingArea1.Background, Image.Standard) End Public Sub DrawingArea1_Draw() ' Nella medesima routine disegna sia sulla "DrawingArea" che nell'Oggetto "Image": ' Disegna sulla "DrawingArea": With Paint .Brush = .Color(Color.Orange) .Ellipse(100, 100, 100, 100, Rad(0), Rad(360), False) .Fill ' Disegna il medesimo contenuto anche nell'Oggetto "Image": .Begin(im) .Brush = .Color(Color.Orange) .Ellipse(100, 100, 100, 100, Rad(0), Rad(360), False) .Fill .End End With With printer1 = New Printer As "Printer1" .Paper = Printer.A4 .GrayScale = False .Resolution = Desktop.Resolution ' Per creare un file PDF, imposta la Proprietà ".OutputFile": .OutputFile = "/tmp/file.pdf" .Print End With End Public Sub Printer1_Draw() With Paint ' Usa il Metodo "DrawImage(): .DrawImage(im, 100, 100, im.W, im.H, 1.0, Null) .End End With End
Riguardo all'argomento in oggetto si rinvia alla lettura anche delle seguenti pagine della wiki: