Appunti di Programmazione

Creative Commons License

Pagina 1 2 3 4 5 6 7 8

Stampare un file .XPS

Considerato che i file .XPS sono stati introdotti da Microsoft come file universali per la trasmissione delle informazioni attraverso il web, ho cercato un modo semplice per stampare il loro contenuto. Di seguito allego poche linee di codice per potere eseguire la stampa di questa tipologia di documenti.

È probabile che il secondo Imports generi un errore, poiché di base non è presente in Visual Basic Express 2010, pertanto è necessario procedere come segue:

- In Visual Basic aprire il menù PROGETTO e scegliere l'opzione AGGIUNGI RIFERIMENTO...
- Nella scheda .NET scegliere il componente "System.Printing" quindi cliccare su OK.

Imports System.IO
Imports System.Printing

Public Class Form1

    Private WithEvents btnStampa As New Windows.Forms.Button
    Private WithEvents OpenFileDialog1 As New Windows.Forms.OpenFileDialog

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        Me.Size = New Size(300, 300)

        With btnStampa
            .Size = New Size(90, 30)
            .Location = New Point(97, 160)
            .Text = "Stampa .XPS"
        End With

        Me.Controls.Add(btnStampa)

    End Sub

    Private Sub btnStampa_Click(sender As Object, e As System.EventArgs) Handles btnStampa.Click

        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

            Dim coda_Di_Stampa As PrintQueue = LocalPrintServer.GetDefaultPrintQueue()
            Dim xpsPrintJob As PrintSystemJobInfo = coda_Di_Stampa.AddJob(OpenFileDialog1.SafeFileName, _
             OpenFileDialog1.FileName, False)

        End If

    End Sub

End Class

Pagina 1 2 3 4 5 6 7 8