PDF를 다양한 이미지 형식으로 변환하기

개요

이 문서는 파이썬을 사용하여 PDF를 다양한 이미지 형식으로 변환하는 방법을 설명합니다. 다음 주제를 다룹니다.

이미지 형식: TIFF

이미지 형식: BMP

이미지 형식: EMF

이미지 형식: JPG

이미지 형식: PNG

이미지 형식: GIF

이미지 형식: SVG

Python PDF를 이미지로 변환

Aspose.PDF for Python은 PDF를 이미지로 변환하기 위해 여러 가지 접근 방식을 사용합니다. 일반적으로 우리는 두 가지 접근 방식을 사용합니다: Device 접근 방식을 사용한 변환과 SaveOption을 사용한 변환. 이 섹션에서는 이러한 접근 방식 중 하나를 사용하여 PDF 문서를 BMP, JPEG, GIF, PNG, EMF, TIFF 및 SVG 형식의 이미지로 변환하는 방법을 보여줍니다.

라이브러리에는 이미지를 변환하기 위해 가상 디바이스를 사용할 수 있는 여러 클래스가 있습니다. DocumentDevice는 전체 문서 변환을 지향하지만, ImageDevice는 특정 페이지를 위한 것입니다.

DocumentDevice 클래스를 사용하여 PDF 변환

Aspose.PDF for Python은 PDF 페이지를 TIFF 이미지로 변환할 수 있게 합니다.

TiffDevice (DocumentDevice 기반) 클래스는 PDF 페이지를 TIFF 이미지로 변환할 수 있게 합니다. 이 클래스는 PDF 파일의 모든 페이지를 단일 TIFF 이미지로 변환할 수 있는 Process라는 메소드를 제공합니다.

PDF 페이지를 하나의 TIFF 이미지로 변환

Aspose.PDF for Python은 PDF 파일의 모든 페이지를 단일 TIFF 이미지로 변환하는 방법을 설명합니다:

단계: Python에서 PDF를 TIFF로 변환

  1. Document 클래스의 객체를 생성합니다.

  2. TiffSettingsTiffDevice 객체를 생성합니다.

  3. PDF 문서를 TIFF로 변환하려면 TiffDevice.Process() 메서드를 호출하십시오.

  4. 출력 파일의 속성을 설정하려면 TiffSettings 클래스를 사용하십시오.

다음 코드 스니펫은 모든 PDF 페이지를 단일 TIFF 이미지로 변환하는 방법을 보여줍니다.

from asposepdf import Api, Device

# 라이선스 초기화
documentName = "testdata/license/Aspose.PDF.PythonviaJava.lic"
licenseObject = Api.License()
licenseObject.setLicense(documentName)

# PDF 문서 열기
DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"
input_pdf = DIR_INPUT + "source.pdf"
output_image = DIR_OUTPUT + "image.tiff"
# PDF 문서 열기
document = Api.Document(input_pdf)
# Resolution 객체 생성
resolution = Device.Resolution(300)

# TiffSettings 객체 생성
tiffSettings = Device.TiffSettings()
tiffSettings._CompressionType = Device.CompressionType.LZW
tiffSettings._ColorDepth = Device.ColorDepth.Default
tiffSettings._Skip_blank_pages = False

# TIFF 장치 생성
tiffDevice = Device.TiffDevice(resolution, tiffSettings)

# 특정 페이지를 변환하고 이미지를 스트림에 저장
tiffDevice.process(document, output_image)

ImageDevice 클래스를 사용하여 PDF 변환

ImageDeviceBmpDevice, JpegDevice, GifDevice, PngDeviceEmfDevice의 상위 클래스입니다.

  • BmpDevice 클래스는 PDF 페이지를 BMP 이미지로 변환할 수 있습니다.

  • EmfDevice 클래스는 PDF 페이지를 EMF 이미지로 변환할 수 있습니다.

  • JpegDevice 클래스는 PDF 페이지를 JPEG 이미지로 변환할 수 있습니다.

  • PngDevice 클래스는 PDF 페이지를 PNG 이미지로 변환할 수 있습니다.

  • GifDevice 클래스는 PDF 페이지를 GIF 이미지로 변환할 수 있습니다.

PDF 페이지를 이미지로 변환하는 방법을 살펴보겠습니다.

BmpDevice 클래스는 Process라는 메서드를 제공하여 PDF 파일의 특정 페이지를 BMP 이미지 형식으로 변환할 수 있습니다. 다른 클래스들도 동일한 메서드를 가지고 있습니다. 따라서 PDF 페이지를 이미지로 변환해야 하는 경우 필요한 클래스를 인스턴스화하면 됩니다.

다음의 단계와 Python 코드 스니펫은 이러한 가능성을 보여줍니다.

단계: Python에서 PDF를 이미지(BMP, EMF, JPG, PNG, GIF)로 변환

  1. Document 클래스를 사용하여 PDF 파일을 로드합니다.
  2. ImageDevice의 서브클래스의 인스턴스를 생성합니다. 예를 들어:
  3. PDF를 이미지로 변환하기 위해 ImageDevice.Process() 메서드를 호출합니다.

PDF를 BMP로 변환



from asposepdf import Api, Device

DIR_INPUT = "testdata/"
DIR_OUTPUT = "testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDF 문서를 엽니다
document = Api.Document(input_pdf)

# 해상도 객체를 생성합니다
resolution = Device.Resolution(300)
device = Device.BmpDevice(resolution)

for i in range(0, document.getPages.size):
    # 저장할 파일 이름을 생성합니다
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.bmp"
    # 특정 페이지를 변환하고 이미지를 파일로 저장합니다
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

PDF를 EMF로 변환


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDF 문서 열기
document = Api.Document(input_pdf)

# 해상도 객체 생성
resolution = Device.Resolution(300)
device = Device.EmfDevice(resolution)

for i in range(0, document.getPages.size):
    # 저장할 파일 이름 생성
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.emf"
    # 특정 페이지를 변환하고 이미지를 파일로 저장
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

PDF를 JPEG로 변환


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDF 문서 열기
document = Api.Document(input_pdf)

# 해상도 객체 생성
resolution = Device.Resolution(300)
device = Device.JpegDevice(resolution)

for i in range(0, document.getPages.size):
    # 저장할 파일 이름 생성
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.jpeg"
    # 특정 페이지를 변환하고 이미지를 파일로 저장
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

PDF를 PNG로 변환


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDF 문서 열기
document = Api.Document(input_pdf)

# 해상도 객체 생성
resolution = Device.Resolution(300)
device = Device.PngDevice(resolution)

for i in range(0, document.getPages.size):
    # 저장할 파일 이름 생성
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.png"
    # 특정 페이지를 변환하고 이미지를 파일로 저장
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

PDF를 GIF로 변환


from asposepdf import Api, Device

DIR_INPUT = "../../testdata/"
DIR_OUTPUT = "../../testout/"

input_pdf = DIR_INPUT + "source.pdf"
output_pdf = DIR_OUTPUT + "image"
# PDF 문서 열기
document = Api.Document(input_pdf)

# 해상도 객체 생성
resolution = Device.Resolution(300)
device = Device.GifDevice(resolution)

for i in range(0, document.getPages.size):
    # 저장할 파일 이름 생성
    imageFileName = output_pdf + "_page_" + str(i + 1) + "_out.gif"
    # 특정 페이지를 변환하고 이미지를 파일로 저장
    device.process(document.getPages.getPage(i + 1), outputFileName=imageFileName)

SaveOptions 클래스를 사용하여 PDF 변환

이 문서의 이 부분에서는 Python과 SaveOptions 클래스를 사용하여 PDF를 SVG로 변환하는 방법을 보여줍니다.

**Scalable Vector Graphics (SVG)**는 정적 및 동적(인터랙티브 또는 애니메이션) 2차원 벡터 그래픽을 위한 XML 기반 파일 형식의 사양 집합입니다. SVG 사양은 1999년부터 World Wide Web Consortium (W3C)에 의해 개발된 개방형 표준입니다.

SVG 이미지와 그 동작은 XML 텍스트 파일로 정의됩니다. 이는 검색, 색인화, 스크립팅이 가능하며 필요한 경우 압축할 수 있음을 의미합니다. XML 파일로서, SVG 이미지는 모든 텍스트 편집기로 생성 및 편집할 수 있지만, Inkscape와 같은 드로잉 프로그램을 사용하여 생성하는 것이 더 편리합니다.

Aspose.PDF for Python은 SVG 이미지를 PDF 형식으로 변환하는 기능을 지원하며, PDF 파일을 SVG 형식으로 변환하는 기능도 제공합니다. 이 요구 사항을 충족하기 위해 SvgSaveOptions 클래스가 Aspose.PDF 네임스페이스에 도입되었습니다. SvgSaveOptions 객체를 인스턴스화하고 이를 Document.Save() 메서드의 두 번째 인수로 전달합니다.

다음 코드 스니펫은 Python으로 PDF 파일을 SVG 형식으로 변환하는 단계를 보여줍니다.

단계: Python에서 PDF를 SVG로 변환하기

  1. Document 클래스의 객체를 생성합니다.
  2. 필요한 설정으로 SvgSaveOptions 객체를 생성합니다.
  3. Document.Save() 메서드를 호출하고 SvgSaveOptions 객체를 전달하여 PDF 문서를 SVG로 변환합니다.

PDF를 SVG로 변환


from asposepdf import Api

documentName = "testdata/input.pdf"
doc = Api.Document(documentName, None)
documentOutName = "testout/out.svg"
doc.save(documentOutName, Api.SaveFormat.Svg)