Differenze tra le versioni di "Creare un file PDF da un file immagine con le risorse del Componente gb.cairo"

Da Gambas-it.org - Wikipedia.
Riga 36: Riga 36:
  
 
Riprendendo così il precedente esempio, per creare un file PDF formato da 2 pagine avremo:
 
Riprendendo così il precedente esempio, per creare un file PDF formato da 2 pagine avremo:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim pdf As CairoPdfSurface
 
   Dim pdf As CairoPdfSurface
Riga 42: Riga 42:
 
    
 
    
 
  <FONT Color=gray>' ''Specifica in "millimetri" la superficie grafica da creare per disegnarvi sopra:''</font>
 
  <FONT Color=gray>' ''Specifica in "millimetri" la superficie grafica da creare per disegnarvi sopra:''</font>
   pdf = New CairoPdfSurface("<FONT Color=gray>''/percorso/del/file.pdf''</font>", 210.0, 297.0)
+
   pdf = New CairoPdfSurface("<FONT Color=darkgreen>''/percorso/del/file.pdf''</font>", 210.0, 297.0)
 
    
 
    
 
  <FONT Color=gray>' ''Inizia il disegno sulla superficie impostata:''</font>
 
  <FONT Color=gray>' ''Inizia il disegno sulla superficie impostata:''</font>
Riga 73: Riga 73:
 
  <FONT Color=gray>' ''Fissa l'immagine jpg sulla superficie PDF:''</font>
 
  <FONT Color=gray>' ''Fissa l'immagine jpg sulla superficie PDF:''</font>
 
   Cairo.Paint
 
   Cairo.Paint
 
 
 
    
 
    
 
  <FONT Color=gray>' ''Termina l'intera operazione:''</font>
 
  <FONT Color=gray>' ''Termina l'intera operazione:''</font>
 
   Cairo.End
 
   Cairo.End
 
+
  pdf.Finish()
  '''End'''
+
 +
  End

Versione delle 10:38, 29 set 2023

In questa pagina vediamo come creare un file PDF partendo da un file immagine e usando le risorse del Componente gb.cairo.

Per l'esempio che segue sarà necessario attivare i Componenti gb.cairo, gb.image e gb.image.io, e si userà un file immagine jpg:

Public Sub Main()
 
 Dim pdf As CairoPdfSurface
 Dim im As Image
 
' Specifica in "millimetri" la superficie grafica da creare per disegnarvi sopra:
 pdf = New CairoPdfSurface("/percorso/del/file.pdf", 210.0, 297.0)
 
' Inizia il disegno sulla superficie impostata:
 Cairo.Begin(pdf)
 
' Viene caricata l'immagine JPG:
 im = Image.Load("/percorso/del/file/immagine.jpg")
 
' Non imposta alcuna modifica scalare all'immagine jpg:
 Cairo.Scale(1, 1)
 
' Imposta il margine superiore sinistro dell'immagine rispetto alla futura pagina PDF:
 Cairo.Source = Cairo.ImagePattern(im, 0, 0)
 
' Fissa l'immagine jpg sulla superficie PDF:
 Cairo.Paint
 
' Termina il disegno:
 Cairo.End
  
End


Creare un file PDF formato da due o più pagine

Per creare un file PDF formato da due o più pagine, è necessario utilizzare il Metodo "Cairo.ShowPage( )". Detto Metodo va inserito dopo il Metodo "Cairo.Paint", che fa riferimento alla pagina precedente creata.
Quindi, dopo il Metodo "Cairo.ShowPage( )" vanno inserite le righe di comando necessarie per caricare e fissare nella nuova pagina un'altra immagine.

Riprendendo così il precedente esempio, per creare un file PDF formato da 2 pagine avremo:

Public Sub Main()
 
 Dim pdf As CairoPdfSurface
 Dim im As Image
 
' Specifica in "millimetri" la superficie grafica da creare per disegnarvi sopra:
 pdf = New CairoPdfSurface("/percorso/del/file.pdf", 210.0, 297.0)
 
' Inizia il disegno sulla superficie impostata:
 Cairo.Begin(pdf)
 
' Viene caricata l'immagine JPG da inserire nella prima pagina del futuro file PDF:
 im = Image.Load("/percorso/del/file/immagine.jpg")
 
' Non imposta alcuna modifica scalare all'immagine jpg:
 Cairo.Scale(1, 1)
 
' Imposta il margine superiore sinistro dell'immagine rispetto alla futura prima pagina PDF:
 Cairo.Source = Cairo.ImagePattern(im, 0, 0)
 
' Fissa l'immagine jpg sulla superficie PDF:
 Cairo.Paint
 
' CREA UNA NUOVA PAGINA NEL FILE PDF:
   Cairo.ShowPage()
 
' Viene caricata l'immagine JPG da inserire nella seconda pagina del futuro file PDF:
 im = Image.Load("/percorso/del/file/immagine.jpg")
 
' Non imposta alcuna modifica scalare all'immagine jpg:
 Cairo.Scale(1, 1)
 
' Imposta il margine superiore sinistro dell'immagine rispetto alla seconda futura pagina PDF:
 Cairo.Source = Cairo.ImagePattern(im, 0, 0)
 
' Fissa l'immagine jpg sulla superficie PDF:
 Cairo.Paint
 
' Termina l'intera operazione:
 Cairo.End
 pdf.Finish()

End