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...)
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