
Convertire XPS in PDF programmaticamente in C#
I file XPS definiscono l’aspetto visivo e la composizione oltre alle regole di rendering e stampa nel markup XML. Poiché i documenti XPS sono popolari per la loro unica capacità di gestire annotazioni o firme, le persone potrebbero avere questi file ma sono desiderose di convertirli in PDFs. Discuteremo di questo specifico scenario di seguito nell’articolo e impareremo come convertire XPS in PDF programmaticamente in C#.
I seguenti punti saranno trattati in questo articolo:
C# .NET API per convertire XPS in PDF
Utilizzeremo Conholdate.Total for .NET per convertire XPS in PDF programmaticamente. Puoi scaricare il DLL o installare questa API di conversione XPS utilizzando NuGet.
Install-Package Conholdate.Total
Come convertire XPS in PDF utilizzando C#
Puoi convertire i file XPS in PDF seguendo i passaggi sottostanti:
- Inizializza gli oggetti della classe Stream per i documenti XPS e PDF.
- Crea un’istanza della classe XpsDocument utilizzando lo stream XPS (creato nel passo precedente) e l’oggetto della classe XpsLoadOptions come parametri.
- Inizializza l’oggetto della classe PdfSaveOptions specificando TextCompression, ImageCompression, JpegQualityLevel e altre opzioni.
- Crea un oggetto della classe PdfDevice dal flusso di output come creato nel primo passo.
- Salva il documento PDF utilizzando XpsDocument.Save(Device device, SaveOptions options) e passa gli oggetti PdfDevice e PdfSaveOptions creati nei passaggi precedenti.
Il seguente codice mostra come convertire XPS in PDF utilizzando C#.
// Inizializza il flusso di output PDF
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Inizializza il flusso di input XPS
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// Carica il documento XPS dal flusso
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// o caricare direttamente il documento XPS da un file. Non è necessario xpsStream.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inizializza l'oggetto delle 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, 2, 6 }
};
// 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);
}
Ottieni una licenza gratuita
Puoi acquisire una free temporary license per testare l’API senza limitazioni di valutazione.
Conclusione
In questo articolo, abbiamo coperto la procedura di conversione da XPS a PDF. Infine, speriamo che tu abbia imparato come convertire XPS in PDF in C# utilizzando un’API di conversione XPS. Puoi visitare la documentazione per esplorare altre funzionalità della libreria di conversione XPS.
Fai una domanda
Puoi farci sapere le tue domande o dubbi sul nostro forum.