Python으로 텍스트와 이미지를 포함한 PDF 파일을 만드는 방법
오늘날과 같은 디지털 시대에는 텍스트와 이미지를 포함한 동적 콘텐츠가 담긴 PDF 문서를 생성해야 하는 경우가 흔합니다. Python은 일상적인 프로세스를 자동화하여 시간과 에너지를 절약할 수 있도록 해주는 인기 있는 프로그래밍 언어입니다. Python에서 텍스트와 이미지를 사용하여 PDF 파일을 생성 할 수 있는 다재다능한 라이브러리는 보고서, 영수증 또는 송장을 자동으로 생성하는 데 매우 유용할 수 있습니다. IronPDF 다양한 기능을 갖춘 Python 라이브러리로, 풍부한 콘텐츠를 담은 PDF 파일을 쉽게 생성할 수 있도록 도와줍니다.
이 글에서는 Python 프로젝트에서 IronPDF를 사용하여 텍스트와 이미지가 모두 포함된 PDF를 생성하는 방법을 살펴보겠습니다.
Python으로 텍스트와 이미지를 포함한 PDF 파일을 만드는 방법
- Python용 IronPDF 라이브러리를 설치합니다.
- ChromePdfRenderer 인스턴스 생성
- 텍스트 콘텐츠 추가
- 이미지를 바이너리 데이터로 추가합니다.
- 텍스트와 이미지를 사용하여 HTML 문자열을 생성합니다.
- RenderHtmlAsPdf를 사용하여 HTML을 PDF로 렌더링합니다.
- SaveAs 메서드를 사용하여 PDF 파일을 저장합니다.
IronPDF 소개
IronPDF 는 개발자에게 PDF 문서를 생성 , 조작 및 처리하는 강력한 도구를 제공하는 기능이 풍부한 Python 라이브러리입니다. IronPDF 사용하면 텍스트, 이미지, 표 및 기타 요소를 PDF에 쉽게 포함할 수 있으므로 보고서 생성부터 문서 작성에 이르기까지 다양한 용도에 유용한 도구입니다.

IronPDF 의 주요 기능:
- 간편한 통합: IronPDF 널리 사용되는 Python 개발 환경과 완벽하게 통합되어 PyCharm과 같은 도구를 사용하는 개발자도 쉽게 이용할 수 있습니다.
- 서식 있는 텍스트 지원: 서식 있는 텍스트 형식을 지원하여 개발자가 시각적으로 매력적인 PDF 문서를 쉽게 만들 수 있습니다.
- 이미지 처리: IronPDF PDF에 이미지를 포함할 수 있도록 지원하여 문서 디자인 및 사용자 정의에 유연성을 제공합니다.
- 크로스 플랫폼 호환성: IronPDF 다양한 플랫폼에서 작동하므로 생성된 PDF를 일관되게 보고 상호 작용할 수 있습니다.
필수 조건
IronPDF 사용하여 PDF 문서를 생성하는 과정을 시작하기 전에 다음 필수 사항을 준비했는지 확인하십시오.
- Python 설치: 컴퓨터에 Python이 설치되어 있어야 합니다. Python 공식 웹사이트( https://www.python.org/ )에서 최신 버전을 다운로드하여 설치할 수 있습니다.
- PyCharm IDE: PyCharm 또는 원하는 다른 Python IDE를 사용하세요. PyCharm은 Python 개발에 편리한 작업 공간을 제공하는 인기 있는 통합 개발 환경입니다.
- IronPDF: IronPDF 라이브러리는 여기 에서 다운로드하거나 PIP(Python 패키지 관리자)를 사용하여 설치할 수 있습니다. IronPDF 기능을 성공적으로 사용하려면 Microsoft .NET 런타임도 필요합니다. Linux, Mac 및 Windows 사용자는 이 다운로드 링크를 사용하여 .NET 6.0 버전을 다운로드할 수 있습니다.
PyCharm에서 Python 프로젝트 생성
필요한 조건을 모두 충족했으면 PyCharm을 열고 새 Python 프로젝트를 생성하세요. 프로젝트의 종속성을 효과적으로 관리하기 위해 가상 환경을 설정하세요.
- 파일 > 새 프로젝트를 클릭합니다.
- "새 프로젝트" 창에서:
- "위치" 필드에 프로젝트 이름을 입력하세요.
- 프로젝트 파일을 저장할 위치를 선택하세요.
- "프로젝트 인터프리터"에서 Python 인터프리터를 선택합니다. Python이 설치되어 있으면 Python 인터프리터를 자동으로 감지합니다.
프로젝트 유형을 선택하세요. 간단한 Python 프로젝트의 경우 기본 설정을 그대로 사용해도 됩니다.
[Python에서 텍스트와 이미지가 포함된 PDF 파일을 만드는 방법: 그림 2 - PyCharm IDE를 엽니다. 파일 메뉴로 이동하여 새 프로젝트를 클릭합니다.] Python 프로젝트의 이름과 위치를 입력하세요. 다음으로 "프로젝트 인터프리터"에서 Python 인터프리터를 선택하십시오. "생성" 버튼을 클릭하여 프로젝트를 생성하세요. Python 프로젝트가 생성되면 새 Python 파일을 열고 해당 파일에 IronPDF 사용하여 PDF 파일을 생성하는 코드를 작성하세요.
- [생성]을 클릭하여 프로젝트를 생성합니다.
- 새 Python 파일을 열고 저장하여 Python 라이브러리인 IronPDF 사용하여 PDF 파일을 생성하는 코드를 작성합니다.
PIP를 사용하여 Python용 IronPDF 설치하세요.
IronPDF 설치하려면 프로젝트 터미널 또는 명령 프롬프트에서 다음 PIP 명령을 사용하십시오.
pip install ironpdf
이 명령은 IronPDF 라이브러리와 그 종속 파일들을 자동으로 다운로드하고 설치합니다.

텍스트와 이미지가 포함된 간단한 PDF 만들기
IronPDF 사용하여 텍스트와 이미지가 모두 포함된 단일 PDF 페이지 문서를 만드는 단계를 살펴보겠습니다.
1단계: IronPDF 가져오기
이 단계에서는 IronPDF 에서 필요한 모든 모듈을 가져옵니다. PDF 렌더링을 위해 ChromePdfRenderer를 가져오고 이미지 데이터 인코딩을 위해 base64를 가져옵니다.
from ironpdf import ChromePdfRenderer
import base64from ironpdf import ChromePdfRenderer
import base642단계: ChromePdfRenderer 인스턴스 생성
여기서는 HTML 콘텐츠를 PDF로 렌더링하는 데 사용될 ChromePdfRenderer 의 인스턴스를 생성합니다.
# Instantiate Renderer
renderer = ChromePdfRenderer()# Instantiate Renderer
renderer = ChromePdfRenderer()3단계: 텍스트 콘텐츠 추가
이 단계에서는 헤더, 본문, 그리고 나중에 단일 PDF 파일로 변환될 텍스트 콘텐츠 섹션을 포함하는 HTML 문서의 구조를 담고 있는 HTML 문자열( html_content )을 정의합니다. 텍스트와 이미지의 위치는 CSS 스타일을 사용하여 지정합니다.
# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""4단계: 이미지 추가
여기서는 이미지 파일( ironpdf-logo.png )을 바이너리 모드로 열고 읽은 다음, 이를 base64로 인코딩된 데이터 URI로 변환하여 HTML 문자열에 삽입합니다. 그런 다음 CSS 스타일을 사용하여 이미지가 오른쪽 상단 모서리에 표시되도록 배치합니다.
# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""5단계: 텍스트와 이미지의 HTML 문자열을 결합합니다.
이 단계에서는 텍스트와 이미지의 HTML 문자열을 연결하여 PDF 출력 파일에 렌더링될 전체 HTML 콘텐츠( full_html_content )를 생성합니다.
full_html_content = html_content + imgHtmlfull_html_content = html_content + imgHtml6단계: HTML 콘텐츠를 PDF 파일로 렌더링
여기서 RenderHtmlAsPdf 메서드는 ChromePdfRenderer 를 사용하여 HTML을 PDF로 변환하는 데 사용됩니다.
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)7단계: PDF 파일 저장
마지막으로, 생성된 PDF 파일은 "output_with_text_and_image_top_right.pdf"라는 이름으로 저장됩니다. 이 파일에는 서식이 지정된 텍스트와 오른쪽 상단에 배치된 이미지가 포함됩니다.
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")PDF 문서 출력
프로그램을 실행한 후 생성되는 PDF 파일은 다음과 같습니다.

마찬가지로, 여러 PDF 페이지를 하나의 PDF 파일에 쉽게 추가할 수 있습니다.
고급 사용법: 텍스트 및 이미지 배치 사용자 지정
IronPDF 외부 CSS/ JavaScript 파일을 사용하여 PDF 내 텍스트와 이미지의 배치 및 스타일을 세밀하게 조정할 수 있는 추가 기능을 제공합니다. 다음 코드에서 볼 수 있듯이 기본 경로는 RenderHtmlAsPdf 메서드의 선택적 인수로 전달할 수 있습니다.
# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")이 고급 코드 예제에서는 외부 소스를 통해 이미지를 임베드하는 개념을 더욱 발전시켜 보겠습니다. RenderHtmlAsPdf 메서드 내의 HTML 콘텐츠에는 다음이 포함됩니다.지정된 에셋 디렉터리( C:\site\assets\ )에 있는 이미지 파일( iron.png )을 가리키는 태그입니다. 또한, 이 디렉터리는 BasePath 매개변수로 설정됩니다.
RenderHtmlAsPdf를 사용하면 위 단계에서 설명한 것처럼 전체 HTML 웹 페이지를 보낼 수 있습니다. CSS 파일은 두 번째 선택적 매개변수로 기본 경로를 사용하여 참조할 수 있습니다. PDF 형식을 생성하거나 기존 PDF 파일을 수정하는 다른 방법에 대한 자세한 내용은 코드 예제 및 문서 페이지를 참조하십시오.
결론
이 글에서는 Python 프로젝트에서 IronPDF 사용하여 텍스트와 이미지가 포함된 PDF 파일을 생성하는 방법을 살펴보았습니다. IronPDF 직관적인 API와 강력한 기능을 통해 개발자가 역동적이고 시각적으로 매력적인 PDF 문서를 손쉽게 생성할 수 있도록 지원합니다. 보고서, 문서 또는 기타 유형의 콘텐츠를 생성하든 관계없이 IronPDF Python을 사용하여 PDF를 생성하는 안정적이고 유연한 솔루션을 제공합니다. 다양한 사용자 지정 옵션을 활용하여 특정 디자인 요구 사항에 맞게 PDF를 맞춤 설정해 보세요. IronPDF 문서 생성에 필요한 유용한 도구입니다.
IronPDF 라이선스 에 대한 문의 사항이 있거나 추가 문의 사항이 있는 경우 지원팀에 문의 하십시오.

IronPDF 웹사이트 에서 라이브러리를 다운로드하여 설치할 수 있습니다.
자주 묻는 질문
Python을 사용하여 텍스트와 이미지가 포함된 PDF를 어떻게 만들 수 있나요?
IronPDF의 ChromePdfRenderer 사용하면 Python에서 텍스트와 이미지가 포함된 PDF를 생성할 수 있습니다. 먼저 IronPDF 라이브러리를 설치한 다음, 원하는 콘텐츠가 포함된 HTML 문자열을 생성합니다. RenderHtmlAsPdf 메서드를 사용하여 HTML을 PDF로 렌더링하고, 마지막으로 SaveAs 메서드를 사용하여 PDF를 저장합니다.
Python에서 사용할 PDF 라이브러리를 설치하는 단계는 무엇인가요?
Python용 IronPDF 라이브러리를 설치하려면 PIP 패키지 관리자를 사용할 수 있습니다. 명령줄 또는 터미널에서 pip install ironpdf 명령을 실행하여 라이브러리와 필요한 종속 파일을 다운로드하고 설치하십시오.
Python에서 PDF 생성 라이브러리를 사용하기 위해 필요한 전제 조건은 무엇입니까?
컴퓨터에 Python이 설치되어 있어야 하고, PyCharm과 같은 개발 IDE와 IronPDF 라이브러리가 필요합니다. 또한 IronPDF를 사용하려면 Microsoft .NET 런타임이 필요합니다.
Python 라이브러리를 사용하여 외부 CSS 또는 JavaScript로 PDF를 사용자 정의하는 것이 가능할까요?
네, IronPDF는 외부 CSS 및 JavaScript 파일을 사용하여 PDF의 레이아웃과 디자인을 사용자 지정할 수 있도록 지원합니다. 이 기능을 통해 텍스트와 이미지 배치에 대한 고급 사용자 지정 옵션을 제공합니다.
PDF Python 라이브러리는 플랫폼 간 호환성을 지원합니까?
IronPDF는 다양한 플랫폼과의 호환성을 고려하여 설계되었으므로, 생성한 PDF 파일을 여러 운영 체제에서 일관되게 보고 상호 작용할 수 있습니다.
Python을 이용한 PDF 생성 시 이미지에 base64 인코딩을 사용하는 이유는 무엇인가요?
Base64 인코딩은 이미지의 이진 데이터를 HTML에 직접 삽입할 수 있는 문자열 형식으로 변환하는 데 사용됩니다. 이를 통해 외부 파일을 참조하지 않고도 PDF에 이미지를 포함할 수 있습니다.
Python용 IronPDF의 주요 기능은 무엇입니까?
IronPDF는 Python 환경과의 손쉬운 통합, 서식 있는 텍스트 및 이미지 지원, 다양한 플랫폼 호환성 등의 기능을 제공합니다. 이러한 기능 덕분에 IronPDF는 동적 콘텐츠를 포함한 PDF를 생성하는 데 다재다능한 도구입니다.
IronPDF는 동적 PDF 문서 생성에 어떻게 도움을 줄 수 있습니까?
IronPDF는 개발자가 텍스트와 이미지 같은 동적 콘텐츠를 포함하는 PDF를 생성할 수 있도록 강력한 API를 제공합니다. HTML과 CSS를 지원하여 서식을 지정할 수 있으므로 Python으로 시각적으로 매력적인 문서를 쉽게 만들 수 있습니다.










