Stampare un file PDF

Da Gambas-it.org - Wikipedia.
Versione del 12 feb 2013 alle 08:16 di Vuott (Discussione | contributi) (Nuova pagina: Mostreremo di seguito una semplice modalità per stampare in modo elementare un file PDF. Sarà necessario * attivare il componente ''gb.pdf''; * inserire sul ''Form'' l'oggetto speci...)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Mostreremo di seguito una semplice modalità per stampare in modo elementare un file PDF.

Sarà necessario

  • attivare il componente gb.pdf;
  • inserire sul Form l'oggetto speciale Printer;
  • inserire sul Form un Button;
  • inserire sul Form una ScrollView della stessa dimensione del Form;
  • all'interno della ScrollView si dovrà inserire una PictureBox della stessa dimensione.
Private pdf As New PdfDocument  
Private pc As Picture  
 
 
Public Sub Form_Open()  
   
  With pdf  
' Carichiamo il file PDF del documento da mostrare:
    .Open("percorso_del_mio_file.pdf")  
' Se il file pdf è stato caricato correttamente...
    If .Ready = True Then  
' ...allora convertiamo la prima pagina ("indice" delle pagine = 1) in una "Image",
' e quindi l' "image" in una "Picture"...  
      pc = pdf[1].Image.Picture  
'  ...che così potremo caricare nella "PictureBox": 
      PictureBox1.Picture = pc  
' Adattiamo la dimensione della "PictureBox" alla dimensione della pagina pdf:
      PictureBox1.Resize(pdf[1].Width, pdf[1].Height)  

    Else  
' Altrimenti mostriamo una messaggio di avviso:
      Message.Error("<FONT color=darkred>Errore nel caricamento del file PDF !")  
    
    Endif  
 
  End With  
 
End  
 
 
' Prevediamo l'utilizzo, volendo, anche di una "ScrollView",
' che agevolerà la visualizzazione anche in caso di ridimensionamento del Form:
Public Sub Form_Resize()  
 
  ScrollView1.Resize(FMain.W - 10, FMain.H - 10)  
 
End  
 
 
Public Sub Button1_Click()  
 
  With Printer1  
    .Configure     ' opzionale - apre la finestra di dialogo se si vuole impostare la stampante.
    .Orientation = 0     ' opzionale - (oppure: Printer1.Portrait) imposta la modalità di stampa "Verticale" (oppure "Orizzontale"). 
    .Paper = 2     ' opzionale - imposta il tipo di carta ( 2 = A4). 
    .Resolution = Desktop.Resolution     ' opzionale - modificando il valore di questa proprietà si ottiene una stampa più grande o più piccola. 
    .Print         ' effettua la stampa su foglio.
  End With  
 
End  
 
 
Public Sub Printer1_Draw()    ' Questo evento è richiamato per ogni pagina da stampare. 
 
' Queste sono le informazioni di ciò che si andrà a stampare:
  With Paint  
    .DrawPicture(pc, PictureBox1.X, PictureBox1.Y, pc.W, pc.H)  
    .Fill  
  End With  
 
End