python, reportlab 로 pdf파일 생성시 한글문제
글쓴이: knpumi / 작성시간: 일, 2011/05/08 - 9:54오전
python과 reportlab로 pdf파일을 생성하려고 합니다.
이것 저것 예제를 찾다가 이곳에서 한글이 되는 예제를 답해 주신 분이 있어서 시험해 보았습니다.
첫번째에서는 한글, 선그리기가 되는데 문단 설정이 없어서 내용이 길면 오른쪽으로 나가 버립니다.
두번째에서는 줄이 저절로 바뀌지만 한글, 선그리기를 어떻게 해야 하는지 모르겠습니다.
한글, 선 그리기, 패러그래프 사용 등을 함께 하려면 어떻게 해야 할까요?
첫번째 소스
# -*- coding: utf-8 -*- from reportlab.pdfgen import canvas from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont import os # font FONT_FILE = '%s/Fonts/%s' % (os.environ['WINDIR'], 'BATANG.TTC') FONT_NAME = '바탕' pdfmetrics.registerFont(TTFont(FONT_NAME, FONT_FILE)) c = canvas.Canvas("h_temp.pdf") c.setFont(FONT_NAME, 10) c.setLineWidth(0.1) c.saveState() Text1= ' Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글' c.drawString(100, 800, Text1) c.showPage() c.save()
두번째
# -*- coding: utf-8 -*- from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer from reportlab.lib.styles import getSampleStyleSheet from reportlab.rl_config import defaultPageSize from reportlab.lib.units import inch PAGE_HEIGHT=defaultPageSize[1]; PAGE_WIDTH=defaultPageSize[0] styles = getSampleStyleSheet() doc = SimpleDocTemplate("h_temp.pdf") Story = [Spacer(1,2*inch)] style = styles["Normal"] Text1= ' Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글 , Hangul=한글' p = Paragraph(Text1, style) Story.append(p) Story.append(Spacer(1,0.2*inch)) doc.build(Story)
파이썬도 프로그램도 모두 제대로 배운 게 아니고,
다른 분들이 만든 것을 보고 조금 수정해서 해보는 정도라
혼자서는 해결이 안되네요. 도움 부탁드립니다.
Forums:
댓글 달기