
Soubory XPS a OXPS se často používají pro tisk kvůli jejich nezávislosti na rozlišení. Někdy však potřebujeme převést XPS do PDF nebo OXPS do PDF. Aspose.Page for .NET API vám umožňuje provádět tyto převody s vysokou přesností a rychlým vykreslováním. Pojďme prozkoumat následující případy použití:
Programově převést XPS do PDF pomocí C#
Převod XPS do PDF je jednoduchý s Aspose.Page for .NET API. Naučíme se následující přístupy k provádění převodu souborů XPS:
i) Převést konkrétní stránky XPS do PDF v C#
Chcete-li převést vybrané stránky dokumentu XPS do formátu PDF, postupujte podle následujících kroků:
- Inicializujte vstupní proud XPS
- Načíst dokument XPS ze streamu
- Inicializujte objekt PdfSaveOptions
- Zadejte čísla stránek pro převod
- Uložte dokument jako soubor PDF
Níže uvedený fragment kódu následuje tyto kroky a ukazuje, jak převést XPS na PDF pomocí C#:
// Inicializujte výstupní proud PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializujte vstupní proud XPS
//pomocí (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))
{
// Načtěte dokument XPS ze streamu
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// nebo načíst dokument XPS přímo ze souboru. Pak není potřeba žádný xpsStream.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicializujte objekt voleb s potřebnými parametry.
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}
};
// Vytvořte vykreslovací zařízení pro formát PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Tento fragment kódu používá jako vstupní soubor dokument XPS obsahující několik stránek. Zatímco pouze čísla stránek 1 a 3 jsou převedeny do PDF, jak je uvedeno ve fragmentu kódu. Následující snímek obrazovky zobrazuje 2 stránky vykreslené do dokumentu PDF:

ii) Převést všechny stránky XPS do PDF v C#
Můžete převést celý soubor XPS do formátu PDF. Postupujte podle níže uvedených kroků a všechny stránky souboru XPS budou převedeny do souboru PDF:
- Načíst vstupní soubor XPS
- Inicializujte objekt voleb s potřebnými parametry
- Vytvořte instanci PdfDevice pro vykreslení
- Export XPS do PDF dokumentu
Níže uvedený fragment kódu je založen na všech těchto krocích, které ukazují, jak převést soubor XPS do PDF pomocí jazyka C#:
// Inicializujte výstupní proud PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializujte vstupní proud XPS
//pomocí (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))
{
// Načtěte dokument XPS ze streamu
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// nebo načíst dokument XPS přímo ze souboru. Pak není potřeba žádný xpsStream.
// Dokument XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicializujte objekt options s potřebnými parametry.
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,
};
// Vytvořte vykreslovací zařízení pro formát PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Převést OXPS do PDF pomocí C#
Formát OXPS je aktualizovaná a pokročilá forma formátu souboru XPS. Některé staré operační systémy však takové soubory nepodporují. Aspose.Page for .NET API je také schopen převádět soubory OXPS. Pojďme se naučit následující scénáře použití:
i) Převést některé stránky OXPS do PDF v C#
Soubor OXPS může obsahovat mnoho stránek a libovolný počet stránek lze převést do PDF pomocí následujících kroků:
- Načtěte soubor OXPS
- Deklarujte objekt PdfSaveOptions
- Nastavte čísla stránek, které chcete převést
- Vykreslit OXPS do PDF
Následující úryvek kódu ukazuje, jak převést OXPS do PDF pomocí C#. Převede první stránku souboru OXPS do formátu PDF, jak je uvedeno ve fragmentu kódu.
// Inicializujte výstupní proud PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializujte vstupní proud OXPS
//pomocí (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))
{
// Načtěte dokument OXPS ze streamu
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// nebo načíst dokument XPS přímo ze souboru. Pak není potřeba žádný xpsStream.
// XpsDocument document = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicializujte objekt voleb s potřebnými parametry.
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}
};
// Vytvořte vykreslovací zařízení pro formát PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
ii) Převést všechny stránky OXPS do PDF v C#
Převod všech stránek OXPS je jednoduchý a souvisí s příkladem, který jsme uvažovali výše. Postupujte podle níže uvedených kroků a převeďte všechny stránky souboru OXPS do jednoho dokumentu PDF:
- Inicializujte vstupní proud OXPS
- Načtěte soubor OXPS ze streamu
- Vytvořte instanci objektu třídy PdfSaveOptions
- Export OXPS do souboru PDF
Níže uvedený fragment kódu postupuje podle těchto kroků jeden po druhém a převádí OXPS na PDF pomocí C#:
// Inicializujte výstupní proud PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Inicializujte vstupní proud OXPS
//pomocí (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))
{
// Načtěte dokument OXPS ze streamu
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// nebo načíst dokument OXPS přímo ze souboru. Pak není potřeba žádný xpsStream.
// Dokument XpsDocument = new XpsDocument(inputFileName, new XpsLoadOptions());
// Inicializujte objekt options s potřebnými parametry.
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,
};
// Vytvořte vykreslovací zařízení pro formát PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Závěr
V tomto článku jste se naučili, jak převést XPS do PDF a OXPS do PDF programově pomocí C#. Pomocí příkladů kódu C# a snímků obrazovky jste se naučili o vysoce přesné, efektivní a rychlé konverzi formátu souborů. Aspose.Page for .NET API můžete dále prozkoumat pomocí dokumentace API a odkazy na API. Kromě toho se neváhejte zeptat na jakýkoli dotaz na Free Support Forums.