이 페이지에는 자동 번역된 텍스트가 포함될 수 있습니다.
C# 및 VB.NET에서 PDF를 이미지로 변환
PDF를 이미지로 변환해야 하는 경우가 있습니다. 예를 들어 PDF에서 축소판 이미지를 만들거나 일부 PDF 문서에 대해 광학 문자 인식(OCR)을 수행해야 할 수 있습니다.
C# 및 VB.NET 프로젝트에서 Docotic.Pdf 라이브러리를 사용하여 PDF 문서를 이미지로 변환할 수 있습니다. 이 라이브러리는 외부 종속성 없이 100% 관리형입니다. PDF 래스터화를 위해 System.Drawing.dll과 GDI+를 사용하지 않습니다. 따라서 Windows, Linux, macOS, iOS, Android에서 일관된 출력을 얻을 수 있습니다.
이 라이브러리는 NuGet과 당사 사이트에서 제공됩니다. C# .NET PDF 라이브러리 다운로드 페이지에서 라이브러리와 무료 기간 제한 라이선스 키를 받으세요.
Docotic.Pdf는 PDF를 이미지로 변환하기 위한 다양한 옵션을 제공합니다. 또한 PDF 문서를 렌더링하고 인쇄할 수도 있습니다. Docotic.Pdf 라이브러리를 사용하여 PDF를 이미지로 변환하는 방법을 살펴보겠습니다.

PDF 페이지를 PNG, JPG 또는 TIFF 이미지로 저장
Docotic.Pdf 라이브러리를 사용하면 PDF 페이지를 PNG, JPEG 또는 TIFF 이미지로 변환할 수 있습니다. 결과 이미지는 스트림 또는 파일로 쓸 수 있습니다. 다음 C# 스니펫은 흰색 배경과 300x300 dpi 해상도로 PDF 페이지를 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 = PdfDrawOptions.Create();
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에서 여러 페이지 TIFF로 PDF 저장 샘플 코드를 다운로드하여 사용해 보세요. 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 = PdfDrawOptions.Create();
options.Compression = ImageCompressionOptions.CreatePng().SetGrayscale();
PDF 확대
PdfDrawOptions.CreateZoom 메서드를 사용하면 지정한 확대 수준으로 PDF 페이지의 이미지를 얻을 수 있습니다. 다음 C# 샘플은 확대 수준 400%로 PDF 페이지를 이미지로 변환합니다:
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 이미지 데이터에 1 Gb(= 10000 * 10000 * 3 * 300 / 72.0 바이트) 이상의 메모리가 필요합니다. 1024x1024 타일을 사용하는 타일 기반 렌더링을 적용하면 비압축 RGB 이미지 데이터의 메모리 사용량을 12 Mb(= 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를 이미지로 변환하는 방법에 대해 궁금한 점이 있으면 문의해 주세요.