XPS 및 OXPS 파일은 해상도 독립성 때문에 인쇄에 자주 사용됩니다. 그러나 때로는 XPS를 PDF로 또는 OXPS를 PDF로 변환해야 합니다. .NET용 Aspose.Page API를 사용하면 고화질 및 빠른 렌더링으로 이러한 변환을 수행할 수 있습니다. 다음 사용 사례를 살펴보겠습니다.

C#을 사용하여 프로그래밍 방식으로 XPS를 PDF로 변환

XPS에서 PDF로의 변환은 Aspose.Page for .NET API를 사용하면 간단합니다. XPS 파일 변환을 수행하기 위해 다음과 같은 접근 방식을 배웁니다.

i) XPS의 특정 페이지를 C#에서 PDF로 변환

XPS 문서의 선택한 페이지를 PDF로 변환하려면 다음 단계를 따르십시오.

  1. XPS 입력 스트림 초기화
  2. 스트림에서 XPS 문서 로드
  3. PdfSaveOptions 개체 초기화
  4. 변환할 페이지 번호 지정
  5. 문서를 PDF 파일로 저장

아래 코드 조각은 다음 단계를 따르고 C#을 사용하여 XPS를 PDF로 변환하는 방법을 보여줍니다.

// PDF 출력 스트림 초기화
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS 입력 스트림 초기화
//사용 (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))
{
    // 스트림에서 XPS 문서 로드
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // 또는 파일에서 직접 XPS 문서를 로드합니다. 그러면 xpsStream이 필요하지 않습니다.
    // XpsDocument 문서 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 필요한 매개변수를 사용하여 옵션 개체를 초기화합니다.
    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}
    };
    // PDF 형식용 렌더링 장치 만들기
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

이 코드 조각은 여러 페이지가 포함된 XPS 문서를 입력 파일로 사용합니다. 반면에 페이지 번호 1과 3만 코드 조각에 지정된 대로 PDF로 변환됩니다. 다음 스크린샷은 PDF 문서로 렌더링된 2페이지를 표시합니다.

XPS를 PDF로

ii) XPS의 모든 페이지를 C#에서 PDF로 변환

전체 XPS 파일을 PDF로 변환할 수 있습니다. 아래 단계를 수행하면 XPS 파일의 모든 페이지가 PDF 파일로 변환됩니다.

  1. 입력 XPS 파일 로드
  2. 필요한 매개변수로 옵션 객체 초기화
  3. 렌더링을 위한 PdfDevice 인스턴스 생성
  4. XPS를 PDF 문서로 내보내기

아래 코드 조각은 C# 언어를 사용하여 XPS 파일을 PDF로 변환하는 방법을 보여주는 이 모든 단계를 기반으로 합니다.

// PDF 출력 스트림 초기화
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// XPS 입력 스트림 초기화
//사용 (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))
{
// 스트림에서 XPS 문서 로드
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// 또는 파일에서 직접 XPS 문서를 로드합니다. 그러면 xpsStream이 필요하지 않습니다.
// XpsDocument 문서 = new XpsDocument(inputFileName, new XpsLoadOptions());

// 필요한 매개변수를 사용하여 옵션 개체를 초기화합니다.
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,
};
// PDF 형식용 렌더링 장치 만들기
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

C#을 사용하여 OXPS를 PDF로 변환

OXPS 형식은 XPS 파일 형식의 업데이트된 고급 형식입니다. 그러나 이러한 파일은 일부 이전 운영 체제에서 지원되지 않습니다. .NET API용 Aspose.Page는 OXPS 파일도 변환할 수 있습니다. 다음 사용 시나리오를 계속 학습해 보겠습니다.

i) C#에서 OXPS의 일부 페이지를 PDF로 변환

OXPS 파일에는 많은 페이지가 포함될 수 있으며 아래 단계에 따라 원하는 수의 페이지를 PDF로 변환할 수 있습니다.

  1. OXPS 파일 로드
  2. PdfSaveOptions 개체 선언
  3. 변환하려는 페이지 번호를 설정하십시오
  4. OXPS를 PDF로 렌더링

다음 코드 조각은 C#을 사용하여 OXPS를 PDF로 변환하는 방법을 보여줍니다. 코드 조각에 언급된 대로 OXPS 파일의 첫 번째 페이지를 PDF로 변환합니다.

// PDF 출력 스트림 초기화
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS 입력 스트림 초기화
//(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))
{
    // 스트림에서 OXPS 문서 로드
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
    // 또는 파일에서 직접 XPS 문서를 로드합니다. 그러면 xpsStream이 필요하지 않습니다.
    // XpsDocument 문서 = new XpsDocument(inputFileName, new XpsLoadOptions());

    // 필요한 매개변수를 사용하여 옵션 개체를 초기화합니다.
    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}
    };
    // PDF 형식용 렌더링 장치 만들기
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    document.Save(device, options);
}

ii) C#에서 OXPS의 모든 페이지를 PDF로 변환

OXPS의 모든 페이지를 변환하는 것은 간단하며 위에서 고려한 예와 관련이 있습니다. 아래 단계에 따라 OXPS 파일의 모든 페이지를 단일 PDF 문서로 변환해 보겠습니다.

  1. OXPS 입력 스트림 초기화
  2. 스트림에서 OXPS 파일 로드
  3. PdfSaveOptions 클래스의 개체 인스턴스화
  4. OXPS를 PDF 파일로 내보내기

아래 코드 조각은 다음 단계를 하나씩 따르고 C#을 사용하여 OXPS를 PDF로 변환합니다.

// PDF 출력 스트림 초기화
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "OXPStoPDF.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
// OXPS 입력 스트림 초기화
//사용 (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))
{
// 스트림에서 OXPS 문서 로드
Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());
// 또는 파일에서 직접 OXPS 문서를 로드합니다. 그러면 xpsStream이 필요하지 않습니다.
// XpsDocument 문서 = new XpsDocument(inputFileName, new XpsLoadOptions());

// 필요한 매개변수를 사용하여 옵션 개체를 초기화합니다.
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,
};
// PDF 형식용 렌더링 장치 만들기
Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

document.Save(device, options);
}

결론

이 기사에서는 C#을 사용하여 프로그래밍 방식으로 XPS를 PDF로, OXPS를 PDF로 변환하는 방법을 배웠습니다. C# 코드 예제와 스크린샷을 통해 충실도가 높고 효율적이며 빠른 파일 형식 변환에 대해 배웠습니다. API 문서API 참조의 도움으로 Aspose.Page for .NET API를 추가로 탐색할 수 있습니다. 또한 문의 사항은 무료 지원 포럼에 문의해 주십시오.

또한보십시오