Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

파이썬을 사용하여 PDF를 HTML로 변환하기

권현욱(엑셀러) 2024. 6. 22. 18:48
반응형

들어가기 전에

PDF 문서를 HTML로 변환하면 문서를 웹 기반 환경에 통합하고 대화형 요소를 통합하며 손쉬운 컨텐츠 수정이 더 쉬워집니다. 파이썬 PDF 라이브러리를 사용하여 PDF를 HTML로 변환하는 과정을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.


  • 원문: Convert PDF to HTML with Python (Developer Guide)
  • URL: https://medium.com/@alexaae9/convert-pdf-to-html-with-python-developer-guide-681fb98ba40d

라이브러리 설치

Python용 Spire.PDF는 제가 가장 신뢰하는 PDF 문서 처리 툴입니다. 이 강력한 Python 라이브러리를 사용하면 추가 소프트웨어 설치 없이도 PDF 파일을 HTML로 손쉽게 변환할 수 있습니다.

이 라이브러리는 다음 pip 명령을 실행하여 PyPI를 통해 설치할 수 있습니다.

pip install Spire.PDF

 

PDF를 HTML로 변환하는 옵션

Python용 Spire.PDF는 PDF를 HTML로 변환하는 옵션을 사용자 정의할 수 있는 ConvertOptions.SetPdfToHtmlOptions() 메서드를 제공합니다. 이 메서드에는 다음 네 가지 매개 변수가 필요합니다.

  • useEmbeddedSvg(boolean) : PDF를 SVG 이미지 파일로 변환하여 HTML 코드에 임베드할지 여부를 지정합니다.
  • useEmbededImg(boolean): HTML 파일에 이미지 데이터를 포함할지 여부를 지정합니다. 이 옵션은 useEmbeddedSvg가 false로 설정된 경우에만 유효합니다.
  • 최대 페이지 수(boolean): 하나의 HTML 파일에 포함할 최대 페이지 수를 지정합니다. 이 옵션은 useEmbeddedSvg가 false로 설정된 경우에만 유효합니다.
  • useHighQualityEmbeddedSvg(boolean): HTML에 고품질 SVG 이미지 임베딩을 사용할지 여부를 지정합니다. 이 옵션은 useEmbeddedSvg가 true로 설정된 경우에만 유효합니다.

 

"useEmbeddedSvg" 매개변수의 값에 따라 PDF 파일이 두 가지 유형의 변환을 거치는 것을 볼 수 있습니다. "useEmbeddedSvg"가 true로 설정되어 있으면 PDF가 HTML 코드 안에 포함된 SVG 이미지로 변환됩니다. 반면에 "useEmbeddedSvg"가 false로 설정되어 있으면 PDF는 모든 세부 정보가 유지되는 HTML 파일로 변환됩니다.

PDF를 HTML SVG 그래픽으로 변환하면 원본 레이아웃이 유지되므로 시각적 구조를 유지하는 것이 중요한 경우 유용할 수 있습니다. 반대로 문서를 추가로 편집해야 하는 경우 PDF를 완전한 HTML 파일로 변환하는 것이 더 유리합니다.

 

파이썬에서 SVG를 임베드하여 PDF를 HTML 파일로 변환하기

다음은 PDF 문서를 하나의 SVG 그래픽으로 변환하여 HTML 파일에 임베드하는 코드입니다.

from spire.pdf.common import *
from spire.pdf import *

# Create a Document object
doc = PdfDocument()

# Load a PDF document
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Privacy Policy.pdf")

# Set the conversion options to 
convertOptions = doc.ConvertOptions

# Specify convert options
convertOptions.SetPdfToHtmlOptions(True, True, 1, True)

# Save the PDF document to HTML format
doc.SaveToFile("output/ToHTML.html", FileFormat.HTML)

# Dispose resources
doc.Dispose()

파이썬으로 PDF를 세부 정보가 포함된 HTML 파일로 변환하기

이 예는 PDF 파일을 여러 개의 HTML 파일로 변환하는 방법을 보여줍니다. 각 HTML 파일에는 PDF의 한 페이지에 대한 세부 정보가 포함되어 있습니다.

from spire.pdf.common import *
from spire.pdf import *

# Create a Document object
doc = PdfDocument()

# Load a PDF document
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Privacy Policy.pdf")

# Set the conversion options to 
convertOptions = doc.ConvertOptions

# Specify convert options
convertOptions.SetPdfToHtmlOptions(False, True, 1, False)

# Save the PDF document to HTML format
doc.SaveToFile("output/ToHTML.html", FileFormat.HTML)

# Dispose resources
doc.Dispose()

 

파이썬에서 PDF를 HTML 파일 스트림으로 변환하기

PDF를 HTML 파일로 변환하는 대신 HTML 파일 스트림으로 변환할 수 있습니다. 다음은 예제입니다.

from spire.pdf.common import*
from spire.pdf import*

# Create a Document object
doc = PdfDocument()

# Load a PDF document
doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Privacy Policy.pdf")

# Set the conversion options to 
convertOptions = doc.ConvertOptions

# Specify convert options
convertOptions.SetPdfToHtmlOptions(True, True, 1, True)

# Save the PDF document to an HTML stream
fileStream = Stream()
doc.SaveToStream(fileStream, FileFormat.HTML)

# Dispose resources
fileStream.Dispose()
doc.Dispose()

 

마치며

이렇게 해서 PDF를 HTML로 변환하는 방법을 살펴보았습니다. PDF를 SVG가 포함된 HTML 파일로 변환하면 원본 레이아웃이 보존될 수 있습니다. 또는 모든 세부 정보가 포함된 HTML 파일로 변환하면 추가 편집이 가능합니다.

Excel과 VBA의 모든 것 아이엑셀러 닷컴 · 강사들이 숨겨 놓고 보는 엑셀러TV