Converteer XPS programmatisch naar PDF in C#

Converteer XPS programmatisch naar PDF in C#

De [XPS][7]-bestanden definiëren het visuele uiterlijk en de compositie naast weergave- en afdrukregels in [XML][4]-opmaak. Omdat XPS-documenten populair zijn vanwege hun unieke mogelijkheid om annotaties of handtekeningen te beheren, kunnen mensen deze bestanden hebben, maar ze graag converteren naar [PDF][5]-bestanden. We bespreken dit specifieke scenario hieronder in het artikel en leren hoe je XPS programmatisch converteert naar PDF in C#. In dit artikel komen de volgende punten aan bod:

  • [C# .NET API om XPS naar PDF te converteren][1]
  • [XPS naar PDF converteren met C# ][2]

C# .NET API om XPS naar PDF te converteren

We zullen [Conholdate.Total for .NET][8] gebruiken om XPS programmatisch naar PDF te converteren. U kunt de DLL [downloaden][9] of deze XPS-conversie-API installeren met behulp van [NuGet][10].

Install-Package Conholdate.Total 

XPS naar PDF converteren met C#

U kunt XPS-bestanden naar PDF’s converteren door de onderstaande stappen te volgen:

  • Initialiseer de objecten van de klasse [Stream][11] voor zowel XPS- als PDF-documenten.
  • Maak een instantie van de klasse [XpsDocument][12] door de XPS-stream (gemaakt in de vorige stap) en het object van de klasse [XpsLoadOptions][13] als parameters te gebruiken.
  • Initialiseer het object van de klasse [PdfSaveOptions][14] door [TextCompression][15], [ImageCompression][16], [JpegQualityLevel][17] en andere opties op te geven.
  • Maak een object van de klasse [PdfDevice][18] uit de uitvoerstroom zoals gemaakt in de eerste stap.
  • Sla het PDF-document op met behulp van [XpsDocument.Save(Device device, SaveOptions options)][19] en geef het de objecten PdfDevice en PdfSaveOptions door zoals gemaakt in eerdere stappen. De volgende code laat zien hoe u XPS naar PDF converteert met 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);
    }

Ontvang een gratis licentie

U kunt een [gratis tijdelijke licentie][21] verkrijgen om de API te testen zonder evaluatiebeperkingen.

Conclusie

In dit artikel hebben we de procedure voor de conversie van XPS naar PDF behandeld. Ten slotte hopen we dat u hebt geleerd hoe u XPS naar PDF kunt converteren in C# met behulp van een XPS-conversie-API. U kunt de [documentatie][22] bezoeken om andere functies van de XPS-conversiebibliotheek te verkennen.

Een vraag stellen

U kunt uw vragen of vragen aan ons stellen op ons [forum][24].

Zie ook