Stampare un file PDF
Vai alla navigazione
Vai alla ricerca
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