基板作りチェックリストその24
ヘッダー部分を描画するテストコード
from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, portrait from reportlab.lib.units import cm #cm単位で座標を指定 #特定のフォントを指定する為に from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.cidfonts import UnicodeCIDFont file_name = '基板作りチェックヘッダー部分描画テスト2.pdf' #ファイル名を設定 pdf = canvas.Canvas(file_name, pagesize=portrait(A4)) #pdfを生成、A4サイズ縦に設定 pdf.saveState() #セーブ #PDFのファイル情報を作成する pdf.setAuthor('python_checktest2') #作成者情報 pdf.setTitle('ヘッダー部分描画テスト2') #タイトル情報 pdf.setSubject('TESTヘッダー2') #件名情報 ### フォント、サイズを設定 ### pdfmetrics.registerFont(UnicodeCIDFont('HeiseiKakuGo-W5')) pdf.setFont('HeiseiKakuGo-W5', 14) ### 文字を描画 (左からの位置、下からの位置、入れたい文字列) pdf.drawString(2.2*cm, 26*cm, '基板名:____________ リスト作成年月日: 年 月 日') #図形の描画 pdf.rect(2*cm, 25*cm, 17*cm, 2*cm) #長方形を描画する #保存 pdf.showPage() pdf.save()
長方形を描画するには、
rectメソッドを使う rect(float x, float y, float w, float h)というコードで表現可能
xは、長方形の左上の角のx座標 yは長方形の左上の角のy座標 wは長方形の幅 hは長方形の高さ
文字を描画する
ヘッダー部分に以下のような文字を描画する
「基板名:______ リスト作成年月日: 年 月 日」
解説
portraitは縦方向 reportlab.lib.unitsはcmでも出来るしmmでも設定可能
フォントを設定するには
#特定のフォントを指定する為に
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
上記のライブラリをインポートした上で
### フォント、サイズを設定 ###
pdfmetrics.registerFont(UnicodeCIDFont('HeiseiKakuGo-W5'))
pdf.setFont('HeiseiKakuGo-W5', 14)
と書くと、フォントが決められる
上記のテストコードを実行すると以下のようになった
1回目はページ下部に正方形ができてしまった
2回目は上部に図形を描画出来た
3回目は希望通りに文字と図形を描画出来た
次回はフッター部分(A4下部の箇所)を作成する