
Convertir XPS en PDF par programmation en C#
Les fichiers XPS définissent l’apparence visuelle et la composition en plus des règles de rendu et d’impression dans le balisage XML. Étant donné que les documents XPS sont populaires en raison de leur capacité unique à gérer les annotations ou les signatures, les gens peuvent avoir ces fichiers mais souhaitent les convertir en PDFs. Nous discuterons de ce scénario spécifique ci-dessous dans l’article et apprendrons comment convertir XPS en PDF par programme en C#.
Les points suivants seront abordés dans cet article :
API C# .NET pour convertir XPS en PDF
Nous utiliserons Conholdate.Total pour .NET pour convertir XPS en PDF par programme. 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 PDF en utilisant C#
Vous pouvez convertir des fichiers XPS en PDF en suivant les étapes ci-dessous :
- Initialiser les objets de la classe Stream pour les documents XPS et PDF.
- 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 PdfSaveOptions en spécifiant TextCompression, ImageCompression, JpegQualityLevel et d’autres options.
- Créez un objet de classe PdfDevice à partir du flux de sortie tel que créé à la 1ère étape.
- Enregistrez le document PDF en utilisant XpsDocument.Save(Device device, SaveOptions options) et transmettez-lui les objets PdfDevice et PdfSaveOptions tels que créés dans les étapes précédentes.
Le code suivant montre comment convertir XPS en PDF à l’aide de C#.
// Initialize PDF output stream | |
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write)) | |
// Initialize XPS input stream | |
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read)) | |
{ | |
// Load XPS document form the stream | |
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions()); | |
// or load XPS document directly from file. No xpsStream is needed then. | |
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions()); | |
// Initialize options object with necessary parameters. | |
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 } | |
}; | |
// Create rendering device for PDF format | |
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream); | |
document.Save(device, options); | |
} |
Obtenez une licence gratuite
Vous pouvez acquérir une licence temporaire gratuite pour tester l’API sans limitation d’évaluation.
Conclusion
Dans cet article, nous avons couvert la procédure de conversion XPS en PDF. Enfin, nous espérons que vous avez appris à convertir XPS en PDF 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.