
I file XPS e OXPS vengono spesso utilizzati per la stampa a causa della loro indipendenza dalla risoluzione. Tuttavia, a volte abbiamo bisogno di convertire XPS in PDF o OXPS in PDF. L’API Aspose.Page for .NET ti consente di eseguire queste conversioni con alta fedeltà e rendering rapido. Esaminiamo i seguenti casi d’uso:
Converti XPS in PDF a livello di codice usando C#
La conversione da XPS a PDF è semplice con Aspose.Page per .NET API. Impareremo i seguenti approcci per eseguire la conversione di file XPS:
i) Converti pagine specifiche di XPS in PDF in C#
Per convertire le pagine selezionate del documento XPS in PDF, attenersi alla seguente procedura:
- Inizializza il flusso di input XPS
- Carica il documento XPS dallo stream
- Inizializza l’oggetto PdfSaveOptions.
- Specificare i numeri di pagina per la conversione
- Salva il documento come file PDF
Di seguito il frammento di codice segue questi passaggi e mostra come convertire XPS in PDF usando C#:
// Inizializza il flusso di output PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inizializza il flusso di input XPS
//utilizzando (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// Carica il documento XPS dallo stream
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o caricare il documento XPS direttamente dal file. Non è necessario xpsStream quindi.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inizializza l'oggetto opzioni con i parametri necessari.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
PageNumbers = new int[] {1, 3}
};
// Crea un dispositivo di rendering per il formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Questo frammento di codice utilizza un documento XPS contenente diverse pagine, come file di input. Considerando che solo i numeri di pagina 1 e 3 vengono convertiti in PDF come specificato nel frammento di codice. La schermata seguente mostra 2 pagine renderizzate in un documento PDF:

ii) Converti tutte le pagine di XPS in PDF in C#
Puoi convertire un intero file XPS in PDF. Segui i passaggi seguenti e tutte le pagine del file XPS verranno convertite in un file PDF:
- Carica il file XPS di input
- Inizializza l’oggetto opzioni con i parametri necessari
- Crea un’istanza di PdfDevice per il rendering
- Esporta XPS in documento PDF
Di seguito il frammento di codice si basa su tutti questi passaggi che mostrano come convertire il file XPS in PDF utilizzando il linguaggio C#:
// Inizializza il flusso di output PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inizializza il flusso di input XPS
//utilizzando (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.xps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open))
{
// Carica il documento XPS dallo stream
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o caricare il documento XPS direttamente dal file. Non è necessario xpsStream quindi.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inizializza l'oggetto opzioni con i parametri necessari.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// Crea un dispositivo di rendering per il formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Converti OXPS in PDF usando C#
Il formato OXPS è una forma aggiornata e avanzata di formato di file XPS. Tuttavia, tali file non sono supportati da alcuni vecchi sistemi operativi. Aspose.Page per .NET API è in grado di convertire anche file OXPS. Procediamo con l’apprendimento dei seguenti scenari di utilizzo:
i) Converti alcune pagine di OXPS in PDF in C#
Un file OXPS può contenere molte pagine e qualsiasi numero di pagine può essere convertito in PDF seguendo i passaggi seguenti:
- Carica il file OXPS
- Dichiara l’oggetto PdfSaveOptions.
- Imposta i numeri di pagina che desideri convertire
- Rendering di OXPS in PDF
Il seguente frammento di codice mostra come convertire OXPS in PDF usando C#. Converte la prima pagina del file OXPS in PDF come indicato nel frammento di codice.
// Inizializza il flusso di output PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inizializza il flusso di input OXPS
//utilizzando (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// Carica il documento OXPS dallo stream
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// o caricare il documento XPS direttamente dal file. Non è necessario xpsStream quindi.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inizializza l'oggetto opzioni con i parametri necessari.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
PageNumbers = new int[] {1}
};
// Crea un dispositivo di rendering per il formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
ii) Converti tutte le pagine di OXPS in PDF in C#
La conversione di tutte le pagine di OXPS è semplice e correlata all’esempio che abbiamo considerato sopra. Seguiamo i passaggi seguenti e convertiamo tutte le pagine del file OXPS in un unico documento PDF:
- Inizializza il flusso di input OXPS
- Carica il file OXPS dallo stream
- Istanziare un oggetto della classe PdfSaveOptions.
- Esporta OXPS in file PDF
Di seguito il frammento di codice segue questi passaggi uno per uno e converte OXPS in PDF usando C#:
// Inizializza il flusso di output PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inizializza il flusso di input OXPS
//utilizzando (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "input.oxps", System.IO.FileMode.Open))
using (System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.oxps", System.IO.FileMode.Open))
{
// Carica il documento OXPS dallo stream
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// oppure carica il documento OXPS direttamente dal file. Non è necessario xpsStream quindi.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inizializza l'oggetto opzioni con i parametri necessari.
Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
{
JpegQualityLevel = 100,
ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
TextCompression = Aspose.Page.XPS.Presentation.Pdf.PdfTextCompression.Flate,
};
// Crea un dispositivo di rendering per il formato PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Conclusione
In questo articolo, hai imparato come convertire XPS in PDF e OXPS in PDF a livello di codice usando C#. Hai imparato con esempi di codice C# e schermate sulla conversione del formato file ad alta fedeltà, efficiente e rapida. Puoi esplorare ulteriormente l’API Aspose.Page for .NET con l’aiuto di documentazione API e riferimenti API. Inoltre, sentiti libero di chiedere qualsiasi domanda su Forum di supporto gratuito.