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 2: Riga 2:
  
 
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:
 
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()
+
  Public Sub Main()
 
    
 
    
 
   Dim pdf As CairoPdfSurface
 
   Dim pdf As CairoPdfSurface
Riga 8: Riga 8:
 
    
 
    
 
  <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 14: Riga 14:
 
    
 
    
 
  <FONT Color=gray>' ''Viene caricata l'immagine JPG:''</font>
 
  <FONT Color=gray>' ''Viene caricata l'immagine JPG:''</font>
   im = Image.Load("<FONT Color=gray>''/percorso/del/file/immagine.jpg''</font>")
+
   im = Image.Load("<FONT Color=darkgreen>''/percorso/del/file/immagine.jpg''</font>")
 
    
 
    
 
  <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine jpg:''</font>
 
  <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine jpg:''</font>
Riga 27: Riga 27:
 
  <FONT Color=gray>' ''Termina il disegno:''</font>
 
  <FONT Color=gray>' ''Termina il disegno:''</font>
 
   Cairo.End
 
   Cairo.End
 +
  pdf.Finish()
 
    
 
    
  '''End'''
+
  End
  
  
Riga 48: Riga 49:
 
    
 
    
 
  <FONT Color=gray>' ''Viene caricata l'immagine JPG da inserire nella prima pagina del futuro file PDF:''</font>
 
  <FONT Color=gray>' ''Viene caricata l'immagine JPG da inserire nella prima pagina del futuro file PDF:''</font>
   im = Image.Load("<FONT Color=gray>''/percorso/del/file/immagine.jpg''</font>")
+
   im = Image.Load("<FONT Color=darkgreen>''/percorso/del/file/immagine.jpg''</font>")
 
    
 
    
 
  <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine jpg:''</font>
 
  <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine jpg:''</font>

Versione attuale delle 10:39, 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
 pdf.Finish()
  
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