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