Ottenere un file PDF da una Image

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca

E' possibile ottenere un file PDF dal contenuto grafico di un Oggetto Image.
In particolare, per ottenere il file PDF bisognerà far stampare dalla Classe Paint nell'Evento "_Draw()" dell'Oggetto Printer i dati immagine contenuti dall'Oggetto Image.
Si utilizzerà la Proprietà ".OutputFile". [nota 1]

Mostriamo un esempio pratico:

Private im As Image
Private printer1 As Printer


Public Sub Form_Open()

 im = Image.Load("/percorso/del/file/immagine")

 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, 0, 0, im.W, im.H), 1.0, Null)
   .End
 End With

End

Ugualmente se il PDF debba essere ottenuto dall'immagine mostrata da una PictureBox.
In tal caso si raccoglieranno i dati immagine contenuti dalla Proprietà ".Image" della PictureBox [nota 2] o di una ImageView.

Private printer1 As Printer


Public Sub Form_Open()

 PictureBox.Image = Image.Load("/percorso/del/file/immagine")

 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(PictureBox1.Image, 0, 0, PictureBox1.Image.W, PictureBox1.Image.H, 1.0, Null)
   .End
 End With

End


Note

[1] Vedere anche il seguente paragrafo: Stampare in un file PDF (creare un file PDF)

[2] Vedere anche la seguente pagina: Stampare il contenuto grafico di una PictureBox.