C#에서 PDF 파일의 축소판 생성

PDF 문서를 웹 응용 프로그램에 포함하는 동안 축소판을 생성해야 하는 경우가 종종 있습니다. 또한 PDF 뷰어를 생성할 때 페이지의 썸네일이 필요합니다. 이러한 시나리오의 경우 이 문서에서는 C# .NET에서 프로그래밍 방식으로 PDF 파일의 축소판을 생성하는 방법을 다룹니다. PDF 파일의 특정 페이지 또는 모든 페이지의 축소판을 만드는 방법을 명시적으로 다룹니다.

PDF의 축소판을 생성하는 C# .NET API

.NET용 Aspose.PDF는 .NET 응용 프로그램 내에서 PDF 문서를 만들고 조작할 수 있는 C# 클래스 라이브러리입니다. API를 사용하면 기본 및 고급 PDF 자동화 작업을 매우 쉽게 수행할 수 있습니다. 이 API를 사용하여 PDF 파일의 축소판을 생성합니다. API는 DLL으로 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

PM> Install-Package Aspose.Pdf

C# .NET에서 PDF 파일의 축소판 생성

일반적으로 PDF 문서에 대해 단일 축소판 이미지를 생성해야 합니다. 썸네일의 페이지는 표지 또는 선택한 다른 페이지가 될 수 있습니다. 다음은 C#에서 원하는 PDF 페이지의 축소판을 생성하는 단계입니다.

  • Document 클래스를 사용하여 PDF 파일을 로드합니다.
  • Document.Pages 컬렉션에서 원하는 페이지의 참조를 가져옵니다.
  • 이미지 파일에 대해 새 FileStream을 만듭니다.
  • Resolution 클래스의 인스턴스를 만들어 축소판 이미지의 해상도를 설정합니다.
  • JpegDevice를 인스턴스화하고 이미지의 높이, 너비, 해상도 및 품질을 설정합니다.
  • JpegDevice.Process(Page, FileStream) 메소드를 사용하여 썸네일을 생성합니다.
  • 파일 스트림을 닫습니다.

다음 코드 샘플은 C#에서 PDF 파일의 축소판을 생성하는 방법을 보여줍니다.

// 문서 열기
Document pdfDocument = new Document("file.pdf");

int pageIndex = 0;

// 컬렉션에서 원하는 인덱스 페이지 가져오기
var page = pdfDocument.Pages[pageIndex];

// 이미지 파일용 스트림 생성
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
    // 해상도 개체 만들기
    Resolution resolution = new Resolution(300);

    // JpegDevice의 인스턴스를 생성하고 이미지의 높이, 너비, 해상도 및 품질을 설정합니다.
    JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

    // 특정 페이지를 변환하고 이미지를 스트림에 저장
    jpegDevice.Process(page, imageStream);

    // 스트림 닫기
    imageStream.Close();
}

C#에서 PDF의 모든 페이지 축소판 생성

다음은 C#에서 PDF의 모든 페이지에 대한 축소판을 생성하는 단계입니다.

  • Document 클래스를 사용하여 PDF 파일을 로드합니다.
  • Document.Pages 컬렉션을 사용하여 PDF의 모든 페이지를 반복합니다.
  • 각 반복에서 다음 작업을 수행합니다.
    • 이미지 파일에 대해 새 FileStream을 만듭니다.
    • Resolution 클래스의 인스턴스를 만들어 썸네일 이미지의 해상도를 설정합니다.
    • JpegDevice를 인스턴스화하고 이미지의 높이, 너비, 해상도 및 품질을 설정합니다.
    • JpegDevice.Process(Page, FileStream) 메소드를 사용하여 썸네일을 생성합니다.
    • 파일 스트림을 닫습니다.

다음 코드 샘플은 PDF의 모든 페이지에 대한 축소판을 생성하는 방법을 보여줍니다.

// 문서 열기
Document pdfDocument = new Document("file.pdf");

// 페이지 반복
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
    // 각 이미지에 대한 스트림 생성
    using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
    {
        // 해상도 개체 만들기
        Resolution resolution = new Resolution(300);

        // JpegDevice의 인스턴스를 생성하고 이미지의 높이, 너비, 해상도 및 품질을 설정합니다.
        JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);

        // 특정 페이지를 변환하고 이미지를 스트림에 저장
        jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);

        // 스트림 닫기
        imageStream.Close();
    }
}

무료 라이선스 받기

평가 제한 없이 Aspose.PDF for .NET을 사용하려면 무료 임시 라이센스를 얻으십시오.

결론

이 기사에서는 C#에서 PDF 파일의 축소판을 생성하는 방법을 배웠습니다. PDF 파일의 특정 페이지 또는 모든 페이지의 축소판을 생성하는 방법을 살펴보았습니다. 또한 문서를 사용하여 C# PDF API에 대해 자세히 알아볼 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 문의할 수 있습니다.

또한보십시오