C# Converti XPS in PDF | Converti OXPS in PDF in C#

XPS (Open XML PaperSpecific) e OXPS (OpenXPS) rappresentano documenti a pagina fissa. I documenti XPS sono simili ai documenti PDF in quanto entrambi conservano il layout e la formattazione del documento originale. Tuttavia, i documenti XPS non sono ampiamente supportati quanto i documenti PDF. I documenti PDF (Portable Document Format) sono ampiamente supportati su una varietà di piattaforme e dispositivi. In questo articolo ti mostreremo come convertire XPS o OXPS in PDF in C#.

Questo articolo tratta i seguenti argomenti:

  1. API C# per convertire XPS in PDF
  2. Converti XPS in PDF utilizzando C#
  3. Converti pagine specifiche di XPS in PDF
  4. Convertitore da OXPS a PDF in C#
  5. Converti pagine specifiche di OXPS in PDF
  6. Converti file XPS in PDF online
  7. Da XPS a PDF: risorse didattiche gratuite

API C# per convertire XPS in PDF

Utilizzeremo l’API Aspose.Page for .NET per convertire un documento XPS o OXPS in formato PDF. Si tratta di una potente API che consente agli sviluppatori di creare, modificare, manipolare e convertire documenti XPS e EPS/PS. Aspose.Page for .NET è un’API affidabile e autonoma, facile da usare e da integrare nelle tue applicazioni .NET.

scaricare la DLL dell’API o installarla utilizzando il seguente comando NuGet:

PM> Install-Package Aspose.Page

Converti XPS in PDF utilizzando C#

Possiamo convertire un intero documento XPS in formato PDF seguendo i passaggi seguenti:

  1. Carica il file XPS di input.
  2. Inizializza l’oggetto opzioni con i parametri necessari.
  3. Crea un’istanza di PdfDevice per il rendering.
  4. Esporta XPS in un documento PDF.

L’esempio di codice fornito di seguito mostra come convertire un file XPS in un PDF utilizzando 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 dal flusso
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// oppure caricare il documento XPS direttamente dal file. Quindi non è necessario xpsStream.
// Documento XpsDocument = 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 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 pagine specifiche di XPS in PDF in C#

Possiamo anche convertire le pagine selezionate di un documento XPS in formato PDF seguendo i passaggi seguenti:

  1. Inizializza il flusso di input XPS.
  2. Carica un documento XPS dallo stream.
  3. Inizializza l’oggetto PdfSaveOptions.
  4. Specificare i numeri di pagina per la conversione.
  5. Salvare il documento come file PDF.

L’esempio di codice seguente mostra come convertire pagine specifiche di un XPS in PDF in 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 dal flusso
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // oppure caricare il documento XPS direttamente dal file. Quindi non è necessario xpsStream.
    // Documento XpsDocument = 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 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. Invece, solo i numeri di pagina 1 e 3 vengono convertiti in PDF come specificato nello snippet di codice. La schermata seguente mostra due pagine renderizzate come documento PDF:

XPS in PDF

Convertitore da OXPS a PDF in C#

Il formato OXPS è una forma aggiornata e avanzata del formato file XPS. Tuttavia, tali file non sono supportati da alcuni vecchi sistemi operativi. Possiamo convertire facilmente un documento OXPS in formato PDF seguendo i passaggi seguenti:

  1. Inizializza il flusso di input OXPS.
  2. Carica il file OXPS dallo stream.
  3. Istanziare un oggetto della classe PdfSaveOptions
  4. Esporta OXPS in un file PDF

L’esempio di codice seguente mostra come convertire OXPS in PDF in 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 dal flusso
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// oppure caricare il documento OXPS direttamente dal file. Quindi non è necessario xpsStream.
// Documento XpsDocument = 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 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 pagine specifiche di OXPS in PDF in C#

Allo stesso modo, possiamo anche convertire pagine specifiche da un documento OXPS al formato PDF seguendo i passaggi seguenti:

  1. Carica un file OXPS
  2. Dichiarare l’oggetto PdfSaveOptions.
  3. Imposta i numeri di pagina che desideri convertire.
  4. Trasforma OXPS in PDF.

Il frammento di codice seguente mostra come convertire pagine specifiche di un OXPS in PDF in C#. Converte la prima pagina del file OXPS in PDF, come menzionato nello snippet 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 dal flusso
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // oppure caricare il documento XPS direttamente dal file. Quindi non è necessario xpsStream.
    // Documento XpsDocument = 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 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 ottenere una licenza temporanea gratuita per testare la libreria senza alcuna restrizione di valutazione.

Converti file XPS in PDF online

Puoi anche convertire un file XPS in PDF online utilizzando questa app convertitore gratuito da XPS a PDF senza installare alcun software o plug-in.

Converti documenti XPS in PDF - Risorse didattiche

Oltre a convertire documenti XPS o OXPS in formato PDF, scopri di più sulla libreria ed esplora varie altre funzionalità utilizzando le risorse seguenti:

Conclusione

In questo articolo, abbiamo imparato come convertire a livello di codice XPS in PDF e OXPS in PDF utilizzando C#. Abbiamo visto anche come esportare pagine specifiche di un documento XPS o OXPS in formato PDF. Puoi esplorare ulteriormente l’API e ottimizzare il flusso di lavoro di gestione dei documenti. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche