C# Konwertuj XPS na PDF | Konwertuj OXPS na PDF w C#

XPS (Specyfikacja papieru Open XML) i OXPS (OpenXPS) reprezentują dokumenty o stałej stronie. Dokumenty XPS są podobne do dokumentów PDF pod tym względem, że zachowują układ i formatowanie oryginalnego dokumentu. Jednak dokumenty XPS nie są tak szeroko obsługiwane jak dokumenty PDF. Dokumenty PDF (Portable Document Format) są szeroko obsługiwane na różnych platformach i urządzeniach. W tym artykule pokażemy, jak przekonwertować XPS lub OXPS na format PDF w języku C#.

W tym artykule poruszono następujące tematy:

  1. C# API do konwersji XPS na PDF
  2. Konwertuj XPS na PDF za pomocą C#
  3. Konwertuj określone strony XPS na format PDF
  4. Konwerter OXPS na PDF w C#
  5. Konwertuj określone strony OXPS na format PDF
  6. Konwertuj plik XPS na format PDF online
  7. XPS do formatu PDF — bezpłatne zasoby edukacyjne

API C# do konwersji XPS na PDF

Do konwersji dokumentu XPS lub OXPS do formatu PDF użyjemy API Aspose.Page for .NET. Jest to potężny interfejs API, który umożliwia programistom tworzenie, edytowanie, manipulowanie i konwertowanie dokumentów XPS i EPS/PS. Aspose.Page for .NET to niezawodny i samodzielny interfejs API, który jest łatwy w obsłudze i integracji z aplikacjami .NET.

Proszę pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą następującego polecenia NuGet:

PM> Install-Package Aspose.Page

Konwertuj XPS na PDF za pomocą C#

Możemy przekonwertować cały dokument XPS na format PDF, wykonując poniższe czynności:

  1. Załaduj wejściowy plik XPS.
  2. Zainicjuj obiekt opcji z niezbędnymi parametrami.
  3. Utwórz instancję PdfDevice do renderowania.
  4. Eksportuj XPS do dokumentu PDF.

Przykładowy kod podany poniżej pokazuje, jak przekonwertować plik XPS na plik PDF przy użyciu języka C#.

// Zainicjuj strumień wyjściowy PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Zainicjuj strumień wejściowy XPS
//using (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))
{
// Załaduj dokument XPS ze strumienia
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.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,
};
// 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);
}

Konwertuj określone strony XPS na PDF w C#

Możemy także przekonwertować wybrane strony dokumentu XPS do formatu PDF, wykonując poniższe czynności:

  1. Zainicjuj strumień wejściowy XPS.
  2. Załaduj dokument XPS ze strumienia.
  3. Zainicjuj obiekt PdfSaveOptions.
  4. Określ numery stron do konwersji.
  5. Zapisz dokument jako plik PDF.

Poniższy przykładowy kod pokazuje, jak przekonwertować określone strony XPS na format PDF w języku C#.

// Zainicjuj strumień wyjściowy PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Zainicjuj strumień wejściowy XPS
//using (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))
{
    // Załaduj dokument XPS ze strumienia
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.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, 3}
    };
    // 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);
}

W tym fragmencie kodu jako pliku wejściowego używany jest dokument XPS zawierający kilka stron. Natomiast tylko strony o numerach 1 i 3 są konwertowane do formatu PDF, jak określono we fragmencie kodu. Poniższy zrzut ekranu przedstawia dwie strony renderowane jako dokument PDF:

XPS do formatu PDF

Konwerter OXPS na PDF w C#

Format OXPS to zaktualizowana i zaawansowana forma formatu pliku XPS. Jednak takie pliki nie są obsługiwane przez niektóre stare systemy operacyjne. Możemy łatwo przekonwertować dokument OXPS do formatu PDF, wykonując poniższe kroki:

  1. Zainicjuj strumień wejściowy OXPS.
  2. Załaduj plik OXPS ze strumienia.
  3. Utwórz instancję obiektu klasy PdfSaveOptions
  4. Eksportuj OXPS do pliku PDF

Poniższy przykładowy kod pokazuje, jak przekonwertować OXPS na format PDF w języku C#.

// Zainicjuj strumień wyjściowy PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Zainicjuj strumień wejściowy OXPS
//using (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))
{
// Załaduj dokument OXPS ze strumienia
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// lub załaduj dokument OXPS 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,
};
// 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);
}

Konwertuj określone strony OXPS na PDF w C#

Podobnie możemy również przekonwertować określone strony z dokumentu OXPS do formatu PDF, wykonując poniższe czynności:

  1. Załaduj plik OXPS
  2. Zadeklaruj obiekt PdfSaveOptions.
  3. Ustaw numery stron, które chcesz przekonwertować.
  4. Renderuj OXPS do formatu PDF.

Poniższy fragment kodu pokazuje, jak przekonwertować określone strony OXPS na format PDF w języku C#. Konwertuje pierwszą stronę pliku OXPS na format PDF, jak wspomniano we fragmencie kodu.

// Zainicjuj strumień wyjściowy PDF
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// Zainicjuj strumień wejściowy OXPS
//using (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))
{
    // Załaduj dokument OXPS ze strumienia
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.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}
    };
    // 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 uzyskać bezpłatną licencję tymczasową, aby przetestować bibliotekę bez żadnych ograniczeń dotyczących oceny.

Konwertuj plik XPS na format PDF online

Możesz także przekonwertować plik XPS na plik PDF online za pomocą tej darmowej aplikacji konwertera XPS na PDF bez instalowania żadnego oprogramowania ani wtyczki.

Konwertuj dokument XPS na format PDF — zasoby edukacyjne

Oprócz konwertowania dokumentów XPS lub OXPS do formatu PDF, dowiedz się więcej o bibliotece i poznaj różne inne funkcje, korzystając z poniższych zasobów:

Wniosek

W tym artykule dowiedzieliśmy się, jak programowo konwertować pliki XPS do formatu PDF i OXPS do formatu PDF przy użyciu języka C#. Widzieliśmy także, jak eksportować określone strony dokumentu XPS lub OXPS do formatu PDF. Możesz głębiej eksplorować interfejs API i optymalizować przepływ pracy z dokumentami. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też