web2py는 파이썬 웹 프레임워크로, 다양한 기능을 제공합니다. 그 중 하나는 PDF 생성입니다. 웹 애플리케이션에서 동적으로 PDF 문서를 생성하고 다운로드할 수 있습니다. 이 글에서는 web2py에서의 PDF 생성 방법을 알아보겠습니다.
PDFKit과 wkhtmltopdf
web2py에서 PDF를 생성하기 위해서는 PDFKit과 wkhtmltopdf 라이브러리를 사용할 수 있습니다. PDFKit은 wkhtmltopdf를 래핑한 파이썬 라이브러리로, HTML 문서를 PDF로 변환하는 기능을 제공합니다. 따라서 wkhtmltopdf도 함께 설치해야 합니다.
import pdfkit
pdfkit.from_file('input.html', 'output.pdf')
위의 예제 코드는 input.html
파일을 읽어와 output.pdf
파일로 변환하는 간단한 예제입니다. from_file
함수를 사용하여 HTML 파일을 PDF로 변환할 수 있습니다.
web2py에서 PDF 생성하기
web2py에서 PDF를 생성하는 방법은 간단합니다. 먼저 PDF를 생성하고자 하는 웹 페이지를 만들어야 합니다. web2py의 뷰 파일로 HTML 문서를 작성합니다.
<!-- views/pdf/index.html -->
<!DOCTYPE html>
<html>
<head>
<title>PDF Example</title>
</head>
<body>
<h1>PDF Example</h1>
<p>Hello, PDF!</p>
</body>
</html>
위의 HTML 코드는 간단한 웹 페이지로, “PDF Example”이라는 제목과 “Hello, PDF!”라는 텍스트를 가지고 있습니다.
이제 웹 루트 디렉토리에 pdf
라는 컨트롤러를 만듭니다.
# controllers/pdf.py
import pdfkit
def index():
html = response.render('pdf/index.html')
pdfkit.from_string(html, 'output.pdf')
return "PDF 생성 완료"
위의 예제 코드에서는 index
함수를 정의하고, response.render
함수를 사용하여 pdf/index.html
뷰 파일을 렌더링한 후, pdfkit.from_string
함수를 사용하여 HTML 문자열을 PDF로 변환합니다. output.pdf
파일로 PDF를 저장하고, “PDF 생성 완료”라는 문자열을 반환합니다.
이제 웹 애플리케이션을 실행하고, /pdf/index
경로로 접속하면 PDF가 생성됩니다. 생성된 PDF는 output.pdf
파일로 다운로드됩니다.
결론
이번 글에서는 web2py에서의 PDF 생성 방법을 알아보았습니다. PDFKit과 wkhtmltopdf 라이브러리를 사용하여 HTML을 PDF로 변환할 수 있고, web2py의 뷰 파일을 활용하여 동적인 웹 페이지를 PDF로 생성할 수 있습니다. PDF 생성은 web2py에서 다양한 활용 가능성을 제공하므로, 웹 애플리케이션 개발 시 유용한 기능입니다.
더 자세한 내용은 web2py 공식 문서를 참고하시기 바랍니다.