Le format de document XPS vous permet de partager, créer, imprimer et enregistrer facilement des documents numériques, mais vous devrez peut-être installer le logiciel de prise en charge. Si vous êtes un programmeur .NET et que vous souhaitez exporter un fichier XPS au format JPG/JPEG par programme, cet article explique comment convertir XPS en JPG en C#.
Les points suivants seront abordés dans cet article :
API C# .NET pour convertir XPS en JPG
Dans cet article, nous utiliserons Conholdate.Total pour .NET pour convertir XPS en JPG. Cette bibliothèque vous permet de créer, de modifier et d’enregistrer des documents XPS existants et nouveaux. Par conséquent, vous pouvez télécharger la DLL ou installer cette API de conversion XPS à l’aide de NuGet.
Install-Package Conholdate.Total
Comment convertir XPS en JPG/JPEG par programmation en C#
L’API de conversion XPS vous permet de convertir vos fichiers XPS en JPG.
Voici les étapes pour convertir un fichier XPS en image JPG :
- Initialiser l’objet de la classe Stream pour les documents XPS.
- Créez une instance de la classe XpsDocument en utilisant le flux XPS (créé à l’étape précédente) et l’objet de la classe XpsLoadOptions comme paramètres.
- Initialiser l’objet de la classe JpegSaveOptions avec les paramètres nécessaires.
- Créez une instance de la classe ImageDevice.
- Enregistrez le JPG dans l’objet ImageDevice en appelant XpsDocument.Save(Device device, SaveOptions options).
- Utilisez ImageDevice pour enregistrer le JPG sur le disque (comme indiqué dans l’exemple de code ci-dessous).
L’exemple de code suivant montre comment convertir XPS en JPG à l’aide de C# :
string inputFileName = "input.xps"; | |
//Outut file | |
string outputFileName = "XPStoImage_out.jpg"; | |
// Initialize XPS input stream | |
using (Stream xpsStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
JpegSaveOptions options = new JpegSaveOptions() | |
{ | |
SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality, | |
Resolution = 300, | |
PageNumbers = new int[] { 1, 2, 6 } | |
}; | |
// Create rendering device for image | |
ImageDevice device = new ImageDevice(); | |
document.Save(device, options); | |
// Iterate through document partitions (fixed documents, in XPS terms) | |
for (int i = 0; i < device.Result.Length; i++) | |
// Iterate through partition pages | |
for (int j = 0; j < device.Result[i].Length; j++) | |
{ | |
// Initialize image output stream | |
using (Stream imageStream = System.IO.File.Open(Path.GetDirectoryName(outputFileName) + | |
Path.GetFileNameWithoutExtension(outputFileName) + "_" + (i + 1) + "_" + (j + 1) + | |
Path.GetExtension(outputFileName), System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Write image | |
imageStream.Write(device.Result[i][j], 0, device.Result[i][j].Length); | |
} | |
} |
Obtenez une licence gratuite
Vous pouvez acquérir une licence temporaire gratuite pour tester l’API sans limitation d’évaluation.
Conclusion
Pour conclure cet article, nous espérons que vous avez appris à convertir XPS en JPG en C# à l’aide d’une API de conversion XPS. Vous pouvez visiter la documentation pour explorer d’autres fonctionnalités de la bibliothèque de conversion XPS.
poser une question
Vous pouvez nous faire part de vos questions ou requêtes sur notre forum.