C# Konvertera XPS till PDF | Konvertera OXPS till PDF i C#

XPS (Open XML Paper Specification) och OXPS (OpenXPS) representerar dokument med fasta sidor. XPS-dokument liknar PDF-dokument genom att de både bevarar layouten och formateringen av originaldokumentet. Dock har XPS-dokument inte lika stort stöd som PDF-dokument. PDF-dokument (Portable Document Format) stöds brett på en mängd olika plattformar och enheter. I den här artikeln kommer vi att visa dig hur du konverterar XPS eller OXPS till PDF i C#.

Den här artikeln tar upp följande ämnen:

  1. C# API för att konvertera XPS till PDF
  2. Konvertera XPS till PDF med C#
  3. Konvertera specifika sidor av XPS till PDF
  4. OXPS till PDF-konverterare i C#
  5. Konvertera specifika sidor av OXPS till PDF
  6. Konvertera XPS-fil till PDF Online
  7. XPS till PDF - Gratis lärresurser

C# API för att konvertera XPS till PDF

Vi kommer att använda Aspose.Page for .NET API för att konvertera ett XPS- eller OXPS-dokument till PDF-format. Det är ett kraftfullt API som gör det möjligt för utvecklare att skapa, redigera, manipulera och konvertera XPS- och EPS/PS-dokument. Aspose.Page för .NET är ett pålitligt och fristående API som är lätt att använda och integrera i dina .NET-applikationer.

Vänligen ladda ner DLL för API:t eller installera den med följande NuGet kommando:

PM> Install-Package Aspose.Page

Konvertera XPS till PDF med C#

Vi kan konvertera ett helt XPS-dokument till PDF-format genom att följa stegen nedan:

  1. Ladda in XPS-filen.
  2. Initiera optionsobjektet med nödvändiga parametrar.
  3. Skapa en instans av PdfDevice för rendering.
  4. Exportera XPS till ett PDF-dokument.

Kodexemplet nedan visar hur man konverterar en XPS-fil till en PDF med C#.

// Initiera PDF-utdataström
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initiera XPS-indataström
//använder (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))
{
// Ladda XPS-dokument från strömmen
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// eller ladda XPS-dokument direkt från filen. Då behövs ingen xpsStream.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Initiera alternativobjekt med nödvändiga parametrar.
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,
};
// Skapa renderingsenhet för PDF-format
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Konvertera specifika sidor av XPS till PDF i C#

Vi kan också konvertera utvalda sidor i ett XPS-dokument till PDF-format genom att följa stegen nedan:

  1. Initiera XPS-indataströmmen.
  2. Ladda ett XPS-dokument från strömmen.
  3. Initiera PdfSaveOptions-objektet.
  4. Ange sidnummer för konvertering.
  5. Spara dokumentet som en PDF-fil.

Följande kodexempel visar hur man konverterar specifika sidor i en XPS till PDF i C#.

// Initiera PDF-utgångsström
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initiera XPS-indataström
//använder (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))
{
    // Ladda XPS-dokument från strömmen
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // eller ladda XPS-dokument direkt från filen. Då behövs ingen xpsStream.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Initiera alternativobjekt med nödvändiga parametrar.
    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}
    };
    // Skapa renderingsenhet för PDF-format
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Detta kodavsnitt använder ett XPS-dokument som innehåller flera sidor som indatafil. Medan endast sidnummer 1 och 3 konverteras till PDF enligt beskrivningen i kodavsnittet. Följande skärmdump visar två sidor renderade som ett PDF-dokument:

XPS till PDF

OXPS till PDF-konverterare i C#

OXPS-formatet är en uppdaterad och avancerad form av XPS-filformatet. Sådana filer stöds dock inte av vissa gamla operativsystem. Vi kan enkelt konvertera ett OXPS-dokument till PDF-format genom att följa stegen nedan:

  1. Initiera OXPS-ingångsströmmen.
  2. Ladda OXPS-filen från strömmen.
  3. Instantiera ett objekt av klassen PdfSaveOptions
  4. Exportera OXPS till en PDF-fil

Följande kodexempel visar hur man konverterar OXPS till PDF i C#.

// Initiera PDF-utgångsström
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initiera OXPS ingångsström
//använder (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))
{
// Ladda OXPS-dokument från strömmen
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// eller ladda OXPS-dokument direkt från filen. Då behövs ingen xpsStream.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

// Initiera alternativobjekt med nödvändiga parametrar.
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,
};
// Skapa renderingsenhet för PDF-format
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

Konvertera specifika sidor av OXPS till PDF i C#

På samma sätt kan vi också konvertera specifika sidor från ett OXPS-dokument till PDF-format genom att följa stegen nedan:

  1. Ladda en OXPS-fil
  2. Deklarera PdfSaveOptions-objektet.
  3. Ställ in sidnumren som du vill konvertera.
  4. Gör OXPS till PDF.

Följande kodavsnitt visar hur man konverterar specifika sidor i en OXPS till PDF i C#. Den konverterar den första sidan av OXPS-filen till PDF, som nämns i kodavsnittet.

// Initiera PDF-utgångsström
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Initiera OXPS ingångsström
//använder (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))
{
    // Ladda OXPS-dokument från strömmen
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // eller ladda XPS-dokument direkt från filen. Då behövs ingen xpsStream.
    // XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());

    // Initiera alternativobjekt med nödvändiga parametrar.
    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}
    };
    // Skapa renderingsenhet för PDF-format
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att testa biblioteket utan några utvärderingsbegränsningar.

Konvertera XPS-fil till PDF online

Du kan också konvertera en XPS-fil till PDF online med denna gratis XPS till PDF-konverterare app utan att installera någon programvara eller plugin.

Konvertera XPS-dokument till PDF - Lärresurser

Förutom att konvertera XPS- eller OXPS-dokument till PDF-format, lär dig mer om biblioteket och utforska olika andra funktioner med hjälp av resurserna nedan:

Slutsats

I den här artikeln har vi lärt oss hur man programmässigt konverterar XPS till PDF och OXPS till PDF med C#. Vi har också sett hur man exporterar specifika sidor i ett XPS- eller OXPS-dokument till PDF-format. Du kan utforska API:et ytterligare och optimera ditt arbetsflöde för dokumenthantering. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även