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:
- C# API för att konvertera XPS till PDF
- Konvertera XPS till PDF med C#
- Konvertera specifika sidor av XPS till PDF
- OXPS till PDF-konverterare i C#
- Konvertera specifika sidor av OXPS till PDF
- Konvertera XPS-fil till PDF Online
- 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:
- Ladda in XPS-filen.
- Initiera optionsobjektet med nödvändiga parametrar.
- Skapa en instans av PdfDevice för rendering.
- 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:
- Initiera XPS-indataströmmen.
- Ladda ett XPS-dokument från strömmen.
- Initiera PdfSaveOptions-objektet.
- Ange sidnummer för konvertering.
- 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:
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:
- Initiera OXPS-ingångsströmmen.
- Ladda OXPS-filen från strömmen.
- Instantiera ett objekt av klassen PdfSaveOptions
- 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:
- Ladda en OXPS-fil
- Deklarera PdfSaveOptions-objektet.
- Ställ in sidnumren som du vill konvertera.
- 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.