이 페이지에는 자동 번역된 텍스트가 포함될 수 있습니다.

C# 및 VB.NET에서 PDF를 이미지로 변환

PDF를 이미지로 변환해야 하는 경우가 있습니다. 예를 들어, PDF에서 축소판 이미지를 생성하거나 일부 PDF 문서에서 광학 문자 인식(OCR)을 수행해야 할 수 있습니다.

Docotic.Pdf 라이브러리를 사용하여 PDF 문서를 C# 및 VB.NET 프로젝트의 이미지로 변환할 수 있습니다. 라이브러리는 외부 종속성 없이 100% 관리됩니다. PDF 래스터화에 System. Drawing.dll 및 GDI+를 사용하지 않습니다. 따라서 Windows, Linux, macOS, iOS 및 Android에서 일관된 출력을 얻을 수 있습니다.

Docotic.Pdf 라이브러리 9.3.17036-dev 회귀 테스트 14,665건의 테스트 통과 총 NuGet 다운로드 4,191,515

라이브러리의 바이너리를 다운로드하거나 NuGet 패키지를 사용할 수 있습니다. 평가 모드 제한 없이 Docotic.Pdf를 사용해 보려면 여기 양식을 사용하여 무료 시간 제한 라이센스 키를 얻을 수 있습니다.

Docotic.Pdf는 PDF를 이미지로 변환하기 위한 다양한 옵션을 제공합니다. 또한 PDF 문서 렌더링 및 인쇄도 가능합니다. Docotic.Pdf 라이브러리를 사용하여 PDF를 이미지로 변환하는 방법을 살펴보겠습니다.

PDF를 C# 및 VB.NET의 이미지로 변환

PDF 페이지를 PNG, JPG 또는 TIFF 이미지로 저장

Docotic.Pdf 라이브러리를 사용하면 PDF 페이지를 PNG, JPEG 또는 TIFF 이미지로 변환할 수 있습니다. 결과 이미지를 스트림이나 파일에 쓸 수 있습니다. 이 C# 코드 조각은 PDF 페이지를 흰색 배경과 300x300dpi 해상도의 PNG 이미지로 저장합니다:

using BitMiracle.Docotic.Pdf;

using (var pdf = new PdfDocument("your_document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);
    options.HorizontalResolution = 300;
    options.VerticalResolution = 300;

    for (int i = 0; i < pdf.PageCount; ++i)
        pdf.Pages[i].Save($"page_{i}.png", options);
}

PdfDrawOptions.Compression 속성을 사용하여 PNG 대신 JPEG 또는 TIFF 이미지를 생성하도록 라이브러리에 지시할 수 있습니다. 다음 스니펫은 JPEG 이미지 만들기로 전환하는 방법을 보여줍니다:

PdfDrawOptions options = ..;
options.Compression = ImageCompressionOptions.CreateJpeg();

관련 C# 및 VB.NET 샘플은 GitHub에서 확인할 수 있습니다.

.NET에서 PDF 문서를 여러 페이지 TIFF로 변환

PdfDocument.SaveAsTiff 방법을 사용하여 전체 문서를 다중 페이지 TIFF 이미지로 저장할 수 있습니다. 다음은 PDF를 TIFF로 변환하기 위한 C# 샘플입니다:

using (var pdf = new PdfDocument("document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);

    pdf.SaveAsTiff("result.tiff", options);
}

GitHub에서 PDF를 다중 페이지 TIFF로 저장 샘플 코드를 다운로드하여 사용해 보세요. C# 및 VB.NET 버전을 모두 사용할 수 있습니다.

PDF에서 축소판 만들기

Docotic.Pdf 라이브러리의 도움으로 PDF 페이지에서 썸네일을 생성할 수 있습니다. 이 C# 샘플은 지정된 PDF의 첫 번째 페이지에서 200x200픽셀 축소판을 만들고 메모리 스트림에 축소판을 씁니다:

using (var pdf = new PdfDocument("document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.CreateFitSize(new PdfSize(200, 200), false);
    options.BackgroundColor = new PdfGrayColor(100);
    
    using (var stream = new MemoryStream())
    {
        pdf.Pages[0].Save(stream, options);
        ..
    }
}

PdfDrawOptions.CreateFitWidth 또는 PdfDrawOptions.CreateFitHeight 메서드를 사용하여 지정된 너비 또는 높이의 축소판 이미지를 생성할 수도 있습니다.

.NET에서 PDF를 흑백 또는 회색조 이미지로 변환

라이브러리는 PDF 문서를 흑백(흑백) TIFF 이미지로 변환할 수 있습니다. 이 샘플은 C#의 PDF 문서에서 흑백 TIFF 이미지를 생성하는 방법을 보여줍니다:

using (var pdf = new PdfDocument("colored.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);
    options.Compression = ImageCompressionOptions.CreateTiff().SetBitonal();

    pdf.SaveAsTiff("bitonal.tiff", options);
}

TiffImageCompressionOptions.SetBitonalThreshold 메서드를 사용할 때 임계값 수준을 지정할 수도 있습니다. 임계값 수준은 회색조, RGB 또는 CMYK 색상을 흑백으로 변환하는 방법을 정의합니다.

Docotic.Pdf는 PDF를 회색조 PNG, JPG 또는 TIFF 이미지로 변환하는 기능도 지원합니다. PngImageCompressionOptions.SetGrayscale, JpegImageCompressionOptions.SetGrayscale, TiffImageCompressionOptions.SetGrayscale 메소드는 다음 스니펫과 같습니다:

PdfDrawOptions options = ..;
options.Compression = ImageCompressionOptions.CreatePng().SetGrayscale();

PDF 확대

PdfDrawOptions.CreateZoom 메서드를 사용하면 지정된 확대/축소 수준으로 PDF 페이지의 이미지를 얻을 수 있습니다. 이 C# 샘플은 PDF 페이지를 400% 확대/축소 수준의 이미지로 변환합니다:

using (var pdf = new PdfDocument(@"document.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.CreateZoom(400);
    pdf.Pages[0].Save("zoomed.png", options);
}

부분 PDF를 이미지로 렌더링

PDF 페이지의 일부만 이미지로 변환해야 할 수도 있습니다. 예를 들어 큰 PDF 페이지를 타일로 분할하려는 경우입니다. 또는 원하지 않는 콘텐츠를 자르려면.

이 C# 코드는 PDF 페이지의 왼쪽 상단 모서리에 256x256 포인트 영역의 이미지를 저장합니다:

using (var pdf = new PdfDocument("large.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.BackgroundColor = new PdfRgbColor(255, 255, 255);

    PdfPage page = pdf.Pages[0];
    PdfBox cropBoxBefore = page.CropBox;

    page.CropBox = new PdfBox(0, cropBoxBefore.Height - 256, 256, cropBoxBefore.Height);
    page.Save("part.png", options);

    page.CropBox = cropBoxBefore;
}

타일식 PDF를 이미지 렌더링으로

Docotic.Pdf는 PDF에서 TIFF로의 타일 렌더링을 기본적으로 지원합니다. 이 방법은 고정된 양의 메모리를 사용하여 큰 PDF 페이지를 처리해야 할 때 유용합니다.

예를 들어, PDF 문서에 10000x10000포인트 크기의 페이지가 포함되어 있습니다. 이 페이지를 300 DPI 해상도의 RGB 이미지로 정기적으로 변환하려면 중간 비압축 RGB 이미지 데이터용으로 1Gb(= 10000 * 10000

  • 3 * 300 / 72.0바이트) 이상의 메모리가 필요합니다. 1024x1024 타일의 타일 렌더링을 사용하면 압축되지 않은 RGB 이미지 데이터의 메모리 소비를 12Mb(= 1024 * 1024 * 3 * 300 / 72.0바이트)로 제한할 수 있습니다.

타일식 PDF를 이미지로 변환하는 것은 일반 변환보다 느립니다. 모든 타일에 대해 라이브러리는 일부 작업이 현재 타일에 영향을 미치지 않더라도 모든 PDF 페이지 작업을 처리해야 합니다.

이 C# 샘플은 512x512 타일을 사용하여 PDF를 이미지로 변환하는 방법을 보여줍니다:

using (var pdf = new PdfDocument("large.pdf"))
{
    PdfDrawOptions options = PdfDrawOptions.Create();
    options.Compression = ImageCompressionOptions.CreateTiff().SetTileSize(512, 512);
    options.BackgroundColor = new PdfGrayColor(100);
    options.HorizontalResolution = 300;
    options.VerticalResolution = 300;

    pdf.Pages[0].Save("tiled.tiff", options);
}

결론

Docotic.Pdf 라이브러리는 .NET에서 PDF를 이미지로 변환하기 위한 다양한 옵션을 제공합니다. PDF 페이지를 전체 크기 또는 PNG, TIFF 및 JPEG 형식의 축소판 이미지로 변환할 수 있습니다. PDF 문서를 여러 페이지의 TIFF 파일로 저장할 수도 있습니다. 라이브러리는 흑백 및 회색조 이미지도 생성할 수 있습니다.

GitHub에서 PDF를 이미지로 샘플을 다운로드하여 사용해 보세요.

PDF를 이미지로 변환하는 방법에 대해 질문이 있는 경우 연락처로 문의하세요.