Python을 사용하여 PDF를 이미지로 변환하는 방법 | IronPDF

Python을 이용한 PDF를 이미지로 변환

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDF-이미지 변환은 Python 응용 프로그램에서 일반적인 요구 사항입니다. 개발자들은 이를 사용하여 문서 썸네일, 웹 미리보기, 그리고 이미지 처리 파이프라인에 PDF 콘텐츠를 제공합니다. IronPDF for Python은 PDF 문서(또는 URL)를 JPEG, PNG, TIFF 이미지 파일로 변환하며 구성 가능한 DPI 및 크기를 지원하는 RasterizeToImageFiles 메서드를 제공합니다.

이 가이드는 Python에서 PDF 파일을 이미지를 변환하는 방법, 출력 품질을 제어하는 방법, 그리고 결과 이미지를 레이아웃 제약에 맞게 크기 조정하는 방법을 보여줍니다.

빠른 시작: PDF를 이미지로 변환하기

  1. IronPDF 설치: pip install ironpdf
  2. PDF 문서 로드: pdf = PdfDocument.FromFile("document.pdf")
  3. 모든 페이지를 PNG로 변환: pdf.RasterizeToImageFiles("output/*.png", DPI=96)
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-1.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/quickstart.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("document.pdf")
pdf.RasterizeToImageFiles("output/*.png", DPI=96)
PYTHON

개발자가 PDF를 이미지로 변환하는 이유는 무엇입니까?

PDF-이미지 변환은 소프트웨어 개발에서 여러 실제 문제를 해결합니다. 가장 일반적인 요구 사항은 미리보기 생성 -- 사용자에게 전체 파일을 다운로드하고 열도록 강요하지 않고도 웹 인터페이스나 모바일 애플리케이션에서 PDF 문서의 썸네일을 표시합니다.

기타 자주 사용되는 사례는 다음과 같습니다:

  • 머신러닝 파이프라인: OCR 모델, 레이아웃 분석 도구, 컴퓨터 비전 시스템은 PDF가 아닌 이미지 입력을 수용합니다
  • 아카이빙 및 준수: 원본 PDF 옆에 시각적 스냅샷을 저장하면 PDF 뷰어가 변경되더라도 장기간 가독성을 보장합니다
  • 보고서 포함: 다른 문서나 이메일 템플릿에 특정 PDF 페이지를 이미지로 포함
  • 자동화된 테스트: 렌더링된 페이지 스냅샷을 비교하여 PDF 출력에서 시각적 회귀를 감지

Python은 표준 라이브러리에서 기본 PDF-이미지 기능을 포함하지 않습니다. pdf2image와 같은 도구는 외부 고정 바이너리인 Poppler 설치가 필요하여 배치 복잡성을 증가시킵니다. IronPDF는 렌더링을 내부적으로 처리하므로, PDF-이미지 변환을 Python 프로젝트에 추가하려면 단일 pip install만 필요합니다.

참고해 주세요IronPDF는 Chromium 기반의 렌더링 엔진을 사용합니다. HTML로 렌더링된 PDF는 브라우저가 표시하는 것과 동일하게 보이는 이미지를 생성하며, PDF가 HTML 또는 URL 소스에서 유래할 때 유용합니다.

PDF 파일을 이미지로 변환하려면 어떻게 해야 합니까?

PDF를 이미지로 변환하려면 PdfDocument 인스턴스에 대해 RasterizeToImageFiles를 호출하세요. 메서드는 지정된 디렉터리에 페이지당 하나의 이미지 파일을 씁니다. 출력 경로의 별표(*)는 1부터 시작하는 페이지 번호로 대체되어 assets/images/*.pngassets/images/1.png, assets/images/2.png을 생성합니다.

메서드를 호출하기 전에 출력 디렉터리를 생성하세요. 존재하지 않으면 IronPDF가 자동으로 생성하지 않습니다.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-2.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-pdf-to-images.py
from ironpdf import PdfDocument

# Load a PDF from disk
pdf = PdfDocument.FromFile("my-content.pdf")

# Write each page to a PNG file in the "assets/images" folder
# The folder must exist before calling this method
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

DPI 매개변수는 이미지 해상도를 제어합니다. DPI가 높을수록 더 선명한 이미지를 생성하지만 파일 크기가 커지고 처리 시간이 길어집니다. 표준 값:

DPI 값 및 일반적인 사용 사례
DPI전형적인 사용
72화면 해상도, 빠른 처리
96표준 웹 품질
150우수한 인쇄 품질
300고품질 인쇄 출력
11페이지 PDF에서 RasterizeToImageFiles로 생성된 번호가 매겨진 PNG 출력 파일(1.png ~ 11.png)을 보여주는 파일 탐색기

PDF 페이지당 하나의 PNG 파일을 가진 출력 디렉터리

출력 이미지가 흐릿하게 나타나면 DPI 값을 증가시키세요. 50페이지 문서를 300 DPI로 처리하는 것은 96 DPI보다 눈에 띄게 더 오래 걸립니다 -- 사용 사례에 대한 실제 품질 요구 사항을 기반으로 선택하세요.

웹 썸네일 생성을 위해, 96 DPI가 충분하며 파일 크기를 작게 유지합니다. 이미지를 전체 크기로 인쇄하거나 표시할 경우 150-300 DPI를 예약하세요.

특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

특정 페이지 하위 집합만 변환하려면 페이지 인덱스를 두 번째 인수로 RasterizeToImageFiles에 전달하세요. 페이지 인덱스는 0부터 시작하는 정수입니다.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-3.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/convert-page-range.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Convert only pages 1, 2, and 3 (zero-based indices: 0, 1, 2)
pdf.RasterizeToImageFiles("assets/images/*.png", [0, 1, 2], DPI=96)
PYTHON

첫 몇 페이지만 미리 볼 필요가 있는 문서에 대해 선택적인 페이지 추출은 전체 파일의 불필요한 처리를 피하는 데 유용합니다. PDF에 이미 내장된 이미지를 추출하는 워크플로에 대해 IronPDF는 별도의 추출 메서드를 제공합니다.

Icon Quote related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to 특정 페이지 범위를 이미지로 변환하려면 어떻게 해야 합니까?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

URL을 이미지로 변환하려면 어떻게 해야 합니까?

IronPDF는 웹 페이지를 PDF로 렌더링한 다음 해당 PDF를 이미지로 변환하는 단일 워크플로를 제공합니다. ChromePdfRenderer을 사용하여 URL을 가져오고 렌더링 한 다음, 생성된 PdfDocument에 대해 RasterizeToImageFiles를 호출하세요. 이 접근법은 웹 페이지의 시각적 아카이브를 생성하거나 웹 기반 콘텐츠를 위한 미리보기 이미지를 생성하는 데 유용하며, 별도의 스크린샷 도구가 필요하지 않습니다.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-4.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/url-to-images.py
from ironpdf import ChromePdfRenderer

# Render a web page to PDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://www.example.com")

# Convert each rendered page to a PNG image
pdf.RasterizeToImageFiles("assets/images/*.png", DPI=96)
PYTHON

렌더링된 이미지는 Chromium 브라우저에서의 페이지 표시와 동일하며, CSS 스타일 및 JavaScript로 렌더링된 콘텐츠를 포함합니다. 인증이 필요한 페이지나 상호작용이 필요한 페이지에 대해서는 IronPDF의 HTML to PDF 튜토리얼을 사용하여 사전 렌더링된 마크업을 직접 제공하는 것을 고려하세요. 결과 PDF는 위에 표시된 동일한 접근 방식을 사용하여 래스터화될 수 있습니다.

IronPDF로 URL을 PDF로 렌더링하여 생성된 5개의 PNG 파일(1.png ~ 5.png)을 보여주는 파일 탐색기

IronPDF를 통해 렌더링된 URL에서 생성된 이미지

출력 이미지 크기를 어떻게 제어하나요?

기본적으로 RasterizeToImageFiles는 이미지를 DPI 인수로 조정된 고유 페이지 크기로 생성합니다. 출력 크기를 제한하려면 ImageMaxWidthImageMaxHeight를 픽셀 단위로 설정하세요.

IronPDF는 ImageMaxHeight 값을 기반으로 원본 가로세로 비율을 유지합니다. 지정된 너비와 높이가 소스 페이지와 다른 비율을 가졌더라도 출력은 늘어나거나 왜곡되지 않습니다.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-pdf-to-image-5.py
#:path=/static-assets/pdf/content-code-examples/how-to/python-pdf-to-image/constrained-dimensions.py
from ironpdf import PdfDocument

pdf = PdfDocument.FromFile("my-content.pdf")

# Generate thumbnail images constrained to 500x500 pixels
pdf.RasterizeToImageFiles(
    "assets/images/*.png",
    ImageMaxWidth=500,
    ImageMaxHeight=500,
    DPI=200
)
PYTHON

200 DPI로 ImageMaxWidth=500, ImageMaxHeight=500을 설정하면 썸네일 디스플레이나 카드 기반 UI 레이아웃에 적합한 이미지를 생성합니다. 응용 프로그램 디자인 요구에 맞춰 이 값을 조정하세요. 래스터화된 PDF 콘텐츠를 생성하기 위해, IronPDF는 Python에서 PDF 생성 및 변환 전에 여러 PDF 병합도 지원합니다.

중요한높이를 기준으로 비율이 유지됩니다. 소스 페이지가 세로보다 넓은 경우, 생성된 이미지는 ImageMaxWidth보다 좁을 수 있습니다. 변동 너비 썸네일을 처리하기 위해 디자인 레이아웃을 설정하세요.

PDF를 이미지로 변환하기 위한 다음 단계는 무엇입니까?

이 가이드는 세 가지 핵심 워크플로를 다루었습니다: PDF 파일을 이미지로 변환, URL을 이미지로 변환, 및 이미지 크기와 품질 제어. IronPDF는 동일한 RasterizeToImageFiles 메서드를 통해 JPEG, JPG, PNG, TIFF 및 추가 형식을 지원합니다. 포맷을 전환하려면 출력 경로 패턴의 파일 확장자를 변경하세요.

추가 자동화를 위해 다음 단계를 고려하세요:

  • 배치 처리: PDF 디렉터리를 반복하고 각 PDF를 순서대로 변환하거나 Python의 concurrent.futures 모듈을 사용하여 병렬 처리
  • 선택적 추출: 페이지 인덱스 매개변수를 사용하여 사용 사례와 관련된 페이지만 추출
  • 이미지 파이프라인 통합: 출력 파일을 PIL/Pillow 또는 OpenCV에 공급하여 자르기, 주석 추가, 또는 포맷 정규화와 같은 추가 처리를 수행
  • 변환 전 압축: 대용량 문서에서 전송 시 스풀 시간을 줄이기 위해 IronPDF의 PDF 압축을 사용하여 래스터화하기 전에 파일 크기 축소
  • 양식 워크플로: PDF 양식 채우기를 프로그래매틱하게 수행하고 그런 다음 리뷰나 아카이빙을 위해 작성 완료된 양식 페이지를 이미지로 변환

IronPDF로 계속 빌딩하려면 IronPDF for Python 문서이미지로 래스터화 PDF 예제를 탐색하세요.

IronPDF for Python의 무료 30일 체험판을 시작하여 이 기능을 프로덕션에서 사용해 보세요. 배포할 준비가 되었을 때, 프로젝트 규모에 맞는 계획을 위해 라이센스 옵션 보기를 확인하세요.

참고해 주세요추가 정보: PDF를 이미지로 변환하기

자주 묻는 질문

Python에서 PDF를 이미지로 어떻게 변환하나요?

pip install ironpdf로 IronPDF를 설치한 후 PdfDocument.FromFile("file.pdf")로 PDF를 불러온 다음 RasterizeToImageFiles("output/*.png", DPI=96)를 호출합니다. 이를 통해 지정된 디렉토리에 페이지당 하나의 이미지를 씁니다.

IronPDF가 PDF 변환을 위해 어떤 이미지 포맷을 지원하나요?

IronPDF는 PNG, JPEG, JPG, 그리고 TIFF 출력 포맷을 지원합니다. 출력 경로 패턴에서 파일 확장자를 변경하여 포맷을 지정할 수 있으며, 예를 들어 JPEG의 경우 *.jpg 또는 TIFF의 경우 *.tiff와 같이 작성합니다.

PDF를 변환할 때 이미지 품질을 어떻게 제어하나요?

RasterizeToImageFiles에서 DPI 매개변수를 사용하세요. 값 96은 표준 웹 품질에 해당합니다. 150은 인쇄 미리보기에 적합하고 300은 고품질 인쇄 출력물을 생성합니다. DPI 값이 높을수록 파일 크기와 처리 시간이 증가합니다.

출력 이미지의 최대 너비 또는 높이를 설정할 수 있나요?

예. RasterizeToImageFiles에 픽셀 단위로 ImageMaxWidthImageMaxHeight를 전달하세요. IronPDF는 높이 값을 기준으로 종횡비를 유지하여 이미지를 왜곡시키지 않습니다.

PDF의 특정 페이지만 이미지로 어떻게 변환하나요?

RasterizeToImageFiles의 두 번째 인수로 0부터 시작하는 페이지 인덱스 목록을 전달하세요. 예를 들어 [0, 1, 2]는 첫 세 페이지만 변환합니다.

IronPDF를 사용하여 웹 페이지 URL을 이미지로 변환할 수 있나요?

예. URL로 RenderUrlAsPdf를 호출하기 위해 ChromePdfRenderer를 사용하세요. 이는 PdfDocument를 반환합니다. 그런 다음 해당 문서에 RasterizeToImageFiles를 호출하여 렌더링된 각 페이지의 이미지 파일을 생성합니다.

IronPDF가 PDF를 이미지로 변환하는 데 외부 바이너리가 필요하나요?

아니요. IronPDF는 자체 Chromium 기반 렌더링 엔진을 포함하며 Poppler, Ghostscript 또는 기타 외부 바이너리 설치가 필요하지 않습니다. pip install ironpdf만으로 시작할 수 있습니다.

변환된 이미지가 흐릿하게 보이는 이유는 무엇인가요?

출력이 흐릿한 것은 낮은 DPI 값 때문입니다. 기본값인 96에서 150 또는 300으로 올려 더 선명한 결과를 얻으세요. 높은 DPI는 파일 크기를 늘리고 처리 시간을 증가시킵니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
버전: 2026.6 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요?
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.