Differenze tra le versioni di "Codice essenziale per mostrare un file PDF"

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
 
Mostriamo un semplice esempio, nel quale bisognerà porre sul ''Form'' una ''ImageView'' e attivare l'indispensabile Componente ''gb.poppler''.
 
Mostriamo un semplice esempio, nel quale bisognerà porre sul ''Form'' una ''ImageView'' e attivare l'indispensabile Componente ''gb.poppler''.
 
<BR>Ci serviremo, quindi, della Classe ''PdfDocument'', la quale consente di leggere il contenuto di un documento PDF e di mostrarlo.
 
<BR>Ci serviremo, quindi, della Classe ''PdfDocument'', la quale consente di leggere il contenuto di un documento PDF e di mostrarlo.
  Private pdf As PdfDocument
+
  Private pd As PdfDocument
 
  Private c As Short
 
  Private c As Short
 
   
 
   
Riga 10: Riga 10:
 
    
 
    
 
  <FONT color=gray>' ''Carica il file PDF del documento da mostrare:''</font>
 
  <FONT color=gray>' ''Carica il file PDF del documento da mostrare:''</font>
   pdf = New PdfDocument("<FONT color=gray>''/percorso/del/file.pdf''</font>")
+
   pd = New PdfDocument("<FONT color=gray>''/percorso/del/file.pdf''</font>")
 
   
 
   
 
  '''End'''
 
  '''End'''
Riga 17: Riga 17:
 
  <FONT color=gray>' ''Cliccando sulla "ImageView" viene mostrata la pagina corrente del documento PDF''
 
  <FONT color=gray>' ''Cliccando sulla "ImageView" viene mostrata la pagina corrente del documento PDF''
 
  ' ''Cliccando ancora si passa alla eventuale pagina successiva.''</font>
 
  ' ''Cliccando ancora si passa alla eventuale pagina successiva.''</font>
  '''Public''' Sub Button1_Click()
+
  '''Public''' Sub ImageView1_MouseUp()
 
   
 
   
 
   Dim im As Image
 
   Dim im As Image
 
   Dim w, h, r As Short
 
   Dim w, h, r As Short
 
    
 
    
   w = pdf[0].Render().W
+
   w = pd[0].Render().W
   h = pdf[0].Render().H
+
   h = pd[0].Render().H
   r = pdf.Resolution / 72
+
   r = pd.Resolution / 72
 
    
 
    
 
  <FONT color=gray>' ''Modifica la risoluzione e dunque la dimensione della pagina corrente del documento PDF e la converte in una "Image":''</font>
 
  <FONT color=gray>' ''Modifica la risoluzione e dunque la dimensione della pagina corrente del documento PDF e la converte in una "Image":''</font>
   im = pdf[c].Render(0, 0, w / r, h / r, 0, pdf.Resolution / r)
+
   im = pd[c].Render(0, 0, w / r, h / r, 0, pd.Resolution / r)
 
    
 
    
 
  <FONT color=gray>' ''Adatta l'oggetto "ImmageView" alla dimensione dell'immagine del documento PDF e carica l'immagine nella "ImageView":''</font>
 
  <FONT color=gray>' ''Adatta l'oggetto "ImmageView" alla dimensione dell'immagine del documento PDF e carica l'immagine nella "ImageView":''</font>
Riga 37: Riga 37:
 
    
 
    
 
   Inc c
 
   Inc c
   If c == pdf.Count Then c = pdf.Count - 1
+
   If c == pd.Count Then c = pd.Count - 1
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 02:49, 10 lug 2020

Per mostrare un documento PDF, bisognerà utilizzare le risorse del Componente gb.poppler.

Mostriamo un semplice esempio, nel quale bisognerà porre sul Form una ImageView e attivare l'indispensabile Componente gb.poppler.
Ci serviremo, quindi, della Classe PdfDocument, la quale consente di leggere il contenuto di un documento PDF e di mostrarlo.

Private pd As PdfDocument
Private c As Short


Public Sub Form_Open()
 
' Carica il file PDF del documento da mostrare:
 pd = New PdfDocument("/percorso/del/file.pdf")

End


' Cliccando sulla "ImageView" viene mostrata la pagina corrente del documento PDF
' Cliccando ancora si passa alla eventuale pagina successiva.
Public Sub ImageView1_MouseUp()

 Dim im As Image
 Dim w, h, r As Short
 
 w = pd[0].Render().W
 h = pd[0].Render().H
 r = pd.Resolution / 72
 
' Modifica la risoluzione e dunque la dimensione della pagina corrente del documento PDF e la converte in una "Image":
 im = pd[c].Render(0, 0, w / r, h / r, 0, pd.Resolution / r)
 
' Adatta l'oggetto "ImmageView" alla dimensione dell'immagine del documento PDF e carica l'immagine nella "ImageView":
 Me.Resize(w / r, h / r)
 ImageView1.Resize(w / r, h / r)
 ImageView1.Image = im
 
 Me.Caption = "Pagina: " & CStr(c + 1)
 
 Inc c
 If c == pd.Count Then c = pd.Count - 1
 
End