Les fichiers XPS et OXPS sont fréquemment utilisés pour l’impression en raison de leur indépendance de résolution. Cependant, nous devons parfois convertir XPS en PDF ou OXPS en PDF. L’API Aspose.Page for .NET vous permet d’effectuer ces conversions avec un rendu haute fidélité et rapide. Explorons les cas d’utilisation suivants :

Convertir XPS en PDF par programmation à l’aide de C#

La conversion XPS en PDF est simple avec Aspose.Page for l’API .NET. Nous allons apprendre les approches suivantes pour effectuer la conversion de fichiers XPS :

i) Convertir des pages spécifiques de XPS en PDF en C#

Pour convertir des pages sélectionnées d’un document XPS en PDF, veuillez suivre les étapes ci-dessous :

  1. Initialiser le flux d’entrée XPS
  2. Charger le document XPS à partir du flux
  3. Initialiser l’objet PdfSaveOptions
  4. Spécifiez les numéros de page pour la conversion
  5. Enregistrez le document en tant que fichier PDF

L’extrait de code ci-dessous suit ces étapes et montre comment convertir XPS en PDF à l’aide de C# :

// Initialiser le flux de sortie PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initialiser le flux d'entrée XPS
//en utilisant (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))
{
    // Charger le document XPS à partir du flux
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // ou chargez le document XPS directement à partir du fichier. Aucun xpsStream n'est alors nécessaire.
    // Document XpsDocument = nouveau XpsDocument(inputFileName, new XpsLoadOptions());

    // Initialisez l'objet d'options avec les paramètres nécessaires.
    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}
    };
    // Créer un périphérique de rendu pour le format PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Cet extrait de code utilise un document XPS contenant plusieurs pages, comme fichier d’entrée. Alors que seuls les numéros de page 1 et 3 sont convertis en PDF comme spécifié dans l’extrait de code. La capture d’écran suivante affiche 2 pages rendues dans un document PDF :

XPS en PDF

ii) Convertir toutes les pages de XPS en PDF en C#

Vous pouvez convertir un fichier XPS entier en PDF. Suivez les étapes ci-dessous et toutes les pages du fichier XPS seront converties en fichier PDF :

  1. Charger le fichier XPS d’entrée
  2. Initialiser l’objet d’options avec les paramètres nécessaires
  3. Créer une instance de PdfDevice pour le rendu
  4. Exporter XPS vers un document PDF

L’extrait de code ci-dessous est basé sur toutes ces étapes qui montrent comment convertir un fichier XPS en PDF en utilisant le langage C# :

// Initialiser le flux de sortie PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initialiser le flux d'entrée XPS
//en utilisant (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))
{
// Charger le document XPS à partir du flux
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// ou chargez le document XPS directement à partir du fichier. Aucun xpsStream n'est alors nécessaire.
// Document XpsDocument = nouveau XpsDocument(inputFileName, new XpsLoadOptions());

// Initialisez l'objet d'options avec les paramètres nécessaires.
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,
};
// Créer un périphérique de rendu pour le format PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Convertir OXPS en PDF en utilisant C#

Le format OXPS est une forme mise à jour et avancée du format de fichier XPS. Cependant, ces fichiers ne sont pas pris en charge par certains anciens systèmes d’exploitation. Aspose.Page for l’API .NET est également capable de convertir des fichiers OXPS. Passons à l’apprentissage des scénarios d’utilisation suivants :

i) Convertir certaines pages d’OXPS en PDF en C#

Un fichier OXPS peut contenir plusieurs pages et n’importe quel nombre de pages peut être converti en PDF en suivant les étapes ci-dessous :

  1. Charger le fichier OXPS
  2. Déclarer l’objet PdfSaveOptions
  3. Définissez le ou les numéros de page que vous souhaitez convertir
  4. Convertir OXPS en PDF

L’extrait de code suivant montre comment convertir OXPS en PDF à l’aide de C#. Il convertit la première page du fichier OXPS en PDF comme mentionné dans l’extrait de code.

// Initialiser le flux de sortie PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initialiser le flux d'entrée OXPS
//en utilisant (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))
{
    // Charger le document OXPS à partir du flux
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // ou chargez le document XPS directement à partir du fichier. Aucun xpsStream n'est alors nécessaire.
    // Document XpsDocument = nouveau XpsDocument(inputFileName, new XpsLoadOptions());

    // Initialisez l'objet d'options avec les paramètres nécessaires.
    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}
    };
    // Créer un périphérique de rendu pour le format PDF
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) Convertir toutes les pages d’OXPS en PDF en C#

La conversion de toutes les pages d’OXPS est simple et liée à l’exemple que nous avons considéré ci-dessus. Suivons les étapes ci-dessous et convertissons toutes les pages du fichier OXPS en un seul document PDF :

  1. Initialiser le flux d’entrée OXPS
  2. Charger le fichier OXPS à partir du flux
  3. Instancier un objet de la classe PdfSaveOptions
  4. Exporter OXPS vers un fichier PDF

L’extrait de code ci-dessous suit ces étapes une par une et convertit OXPS en PDF à l’aide de C# :

// Initialiser le flux de sortie PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initialiser le flux d'entrée OXPS
//en utilisant (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))
{
// Charger le document OXPS à partir du flux
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// ou chargez le document OXPS directement à partir du fichier. Aucun xpsStream n'est alors nécessaire.
// Document XpsDocument = nouveau XpsDocument(inputFileName, new XpsLoadOptions());

// Initialisez l'objet d'options avec les paramètres nécessaires.
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,
};
// Créer un périphérique de rendu pour le format PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Conclusion

Dans cet article, vous avez appris à convertir XPS en PDF et OXPS en PDF par programmation à l’aide de C#. Vous avez appris avec des exemples de code C# et des captures d’écran sur la conversion de format de fichier haute fidélité, efficace et rapide. Vous pouvez explorer davantage l’API Aspose.Page for .NET à l’aide de la documentation API et des références API. De plus, n’hésitez pas à poser toute question sur Free Support Forums.

Voir également