
Konwertuj programowo XPS na PDF w C#
Pliki XPS definiują wygląd i kompozycję oprócz reguł renderowania i drukowania w znacznikach XML. Ponieważ dokumenty XPS są popularne ze względu na ich wyjątkową możliwość zarządzania adnotacjami i podpisami, użytkownicy mogą mieć te pliki, ale chętnie przekonwertują je na pliki PDF. Omówimy ten konkretny scenariusz poniżej w artykule i dowiemy się, jak programowo przekonwertować XPS na format PDF w języku C#.
W tym artykule zostaną omówione następujące punkty:
C# .NET API do konwersji XPS do formatu PDF
Będziemy używać Conholdate.Total dla .NET do programowej konwersji XPS na PDF. Możesz pobrać bibliotekę DLL lub zainstalować interfejs API konwersji XPS za pomocą NuGet.
Install-Package Conholdate.Total
Jak przekonwertować XPS na PDF za pomocą C#
Możesz przekonwertować pliki XPS na pliki PDF, wykonując poniższe czynności:
- Zainicjuj obiekty klasy Stream zarówno dla dokumentów XPS, jak i PDF.
- Utwórz instancję klasy XpsDocument, używając strumienia XPS (utworzonego w poprzednim kroku) i obiektu klasy XpsLoadOptions jako parametrów.
- Zainicjuj obiekt klasy PdfSaveOptions, określając TextCompression, ImageCompression, JpegQualityLevel i inne opcje.
- Utwórz obiekt klasy PdfDevice ze strumienia wyjściowego utworzonego w pierwszym kroku.
- Zapisz dokument PDF za pomocą XpsDocument.Save(Urządzenie urządzenia, opcje SaveOptions) i przekaż mu obiekty PdfDevice i PdfSaveOptions utworzone we wcześniejszych krokach.
Poniższy kod pokazuje, jak przekonwertować plik XPS na format PDF przy użyciu języka C#.
// Zainicjuj strumień wyjściowy PDF
using (System.IO.Stream pdfStream = System.IO.File.Open("input.xps", System.IO.FileMode.Create, System.IO.FileAccess.Write))
// Zainicjuj strumień wejściowy XPS
using (System.IO.Stream xpsStream = System.IO.File.Open("XPStoPDF.pdf", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// Załaduj dokument XPS ze strumienia
XpsDocument document = new XpsDocument(xpsStream, new XpsLoadOptions());
// lub załaduj dokument XPS bezpośrednio z pliku. Nie jest wtedy potrzebny żaden xpsStream.
// Dokument XpsDocument = nowy dokument XpsDocument(nazwa pliku wejściowego, nowa opcja XpsLoad());
// Zainicjuj obiekt opcji z niezbędnymi parametrami.
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 }
};
// Utwórz urządzenie renderujące dla formatu PDF
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);
document.Save(device, options);
}
Zdobądź bezpłatną licencję
Możesz nabyć bezpłatną licencję tymczasową, aby testować interfejs API bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule omówiliśmy procedurę konwersji XPS do formatu PDF. Na koniec mamy nadzieję, że nauczyłeś się konwertować XPS na PDF w C# za pomocą interfejsu API konwersji XPS. Możesz odwiedzić dokumentację, aby poznać inne funkcje biblioteki konwersji XPS.
Zadać pytanie
Możesz przekazać nam swoje pytania lub wątpliwości na naszym forum.