XPS und OXPS Dateien werden aufgrund ihrer Auflösungsunabhängigkeit häufig zum Drucken verwendet. Manchmal müssen wir jedoch XPS in PDF oder OXPS in PDF konvertieren. Mit der Aspose.Page for .NET-API können Sie diese Konvertierungen mit High-Fidelity und schnellem Rendering durchführen. Lassen Sie uns die folgenden Anwendungsfälle untersuchen:

Konvertieren Sie XPS in PDF programmgesteuert mit C#

Die Konvertierung von XPS in PDF ist mit Aspose.Page for .NET API einfach. Wir werden die folgenden Ansätze zur Konvertierung von XPS Dateien lernen:

i) Konvertieren Sie bestimmte Seiten von XPS in PDF in C#

Führen Sie die folgenden Schritte aus, um ausgewählte Seiten eines XPS-Dokuments in PDF zu konvertieren:

  1. XPS-Eingabestream initialisieren
  2. XPS-Dokument aus Stream laden
  3. Initialisieren Sie das Objekt PdfSaveOptions.
  4. Geben Sie Seitenzahlen für die Konvertierung an
  5. Speichern Sie das Dokument als PDF Datei

Das folgende code snippet folgt diesen Schritten und zeigt, wie man XPS in PDF mit C# konvertiert:

// PDF-Ausgabestrom initialisieren
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS-Eingabestream initialisieren
//using (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))
{
    // XPS-Dokument aus dem Stream laden
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // oder XPS-Dokument direkt aus Datei laden. Dann wird kein xpsStream benötigt.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Optionsobjekt mit notwendigen Parametern initialisieren.
    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}
    };
    // Erstellen Sie ein Rendering-Gerät für das PDF-Format
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Dieses code snippet verwendet ein XPS-Dokument mit mehreren Seiten als Eingabedatei. Dagegen werden nur die Seitenzahlen 1 und 3 in PDF konvertiert, wie im code snippet angegeben. Der folgende Screenshot zeigt 2 Seiten, die in ein PDF Dokument gerendert wurden:

XPS zu PDF

ii) Konvertieren Sie alle Seiten von XPS in PDF in C#

Sie können eine ganze XPS Datei in PDF konvertieren. Führen Sie die folgenden Schritte aus, und alle Seiten der XPS Datei werden in eine PDF Datei konvertiert:

  1. Eingabe-XPS Datei laden
  2. Optionsobjekt mit notwendigen Parametern initialisieren
  3. Erstellen Sie eine Instanz von PdfDevice zum Rendern
  4. Exportieren Sie XPS in ein PDF Dokument

Das folgende code snippet basiert auf all diesen Schritten, die zeigen, wie man XPS Dateien mit der Sprache C# in PDF konvertiert:

// PDF-Ausgabestrom initialisieren
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS-Eingabestream initialisieren
//using (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))
{
// XPS-Dokument aus dem Stream laden
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// oder XPS-Dokument direkt aus Datei laden. Dann wird kein xpsStream benötigt.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Optionsobjekt mit notwendigen Parametern initialisieren.
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,
};
// Erstellen Sie ein Rendering-Gerät für das PDF-Format
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Konvertieren Sie OXPS mit C# in PDF

Das OXPS Format ist eine aktualisierte und erweiterte Form des XPS Dateiformats. Solche Dateien werden jedoch von einigen alten Betriebssystemen nicht unterstützt. Aspose.Page for .NET API kann auch OXPS Dateien konvertieren. Lassen Sie uns fortfahren, um die folgenden Nutzungsszenarien zu lernen:

i) Einige Seiten von OXPS in C# in PDF konvertieren

Eine OXPS Datei kann viele Seiten enthalten und eine beliebige Anzahl von Seiten kann mit den folgenden Schritten in PDF konvertiert werden:

  1. OXPS Datei laden
  2. Deklarieren Sie das Objekt PdfSaveOptions.
  3. Legen Sie die Seitenzahl(en) fest, die Sie konvertieren möchten
  4. Rendern Sie OXPS in PDF

Das folgende code snippet zeigt, wie Sie OXPS mit C# in PDF konvertieren. Es konvertiert die erste Seite der OXPS Datei in PDF, wie im code snippet erwähnt.

// PDF-Ausgabestrom initialisieren
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS-Eingabestream initialisieren
//using (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))
{
    // Laden Sie das OXPS-Dokument aus dem Stream
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // oder XPS-Dokument direkt aus Datei laden. Dann wird kein xpsStream benötigt.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Optionsobjekt mit notwendigen Parametern initialisieren.
    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}
    };
    // Erstellen Sie ein Rendering-Gerät für das PDF-Format
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) Alle Seiten von OXPS in C# in PDF konvertieren

Das Konvertieren aller Seiten von OXPS ist einfach und bezieht sich auf das oben betrachtete Beispiel. Lassen Sie uns die folgenden Schritte ausführen und alle Seiten der OXPS Datei in ein einziges PDF Dokument konvertieren:

  1. OXPS-Eingabestream initialisieren
  2. Laden Sie die OXPS Datei aus dem Stream
  3. Instanziieren Sie ein Objekt der Klasse PdfSaveOptions.
  4. Exportieren Sie OXPS in eine PDF Datei

Das folgende code snippet folgt diesen Schritten nacheinander und konvertiert OXPS mit C# in PDF:

// PDF-Ausgabestrom initialisieren
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS-Eingabestream initialisieren
//using (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))
{
// Laden Sie das OXPS-Dokument aus dem Stream
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// oder laden Sie das OXPS-Dokument direkt aus der Datei. Dann wird kein xpsStream benötigt.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Optionsobjekt mit notwendigen Parametern initialisieren.
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,
};
// Erstellen Sie ein Rendering-Gerät für das PDF-Format
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Fazit

In diesem Artikel haben Sie gelernt, wie Sie XPS in PDF und OXPS in PDF programmgesteuert mit C# konvertieren. Sie haben anhand von C# Codebeispielen und Screenshots über High-Fidelity, effiziente und schnelle Konvertierung von Dateiformaten gelernt. Sie können die Aspose.Page for .NET-API mithilfe der API-Dokumentation und API-Referenzen weiter erkunden. Darüber hinaus können Sie gerne eine Anfrage in den Free Support Forums stellen.

Siehe auch