タイトル : PythonでPDF作成 やっぱりIPAフォントが見やすい
更新日 : 2024-11-02
カテゴリ : プログラミング
タグ :
reportlab   
python   
pdf   

IPAのフォントが見やすい

ReportLabにはHeiseiMin-W3,HeiseiKakuGo-W5が最初から入っているけど、

IPAのフォントがやっぱり見易いです

画像1

IPAフォント

確認ソース

(ipag00303は最新じゃなかった...)

import datetime

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, portrait
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont
from reportlab.pdfbase.ttfonts import TTFont

# 白紙をつくる(A4縦)
FILENAME = "test.pdf"
pdf_canvas = canvas.Canvas(FILENAME, pagesize=portrait(A4))

# 出力用文字列
now_time = datetime.datetime.now()
time_str1 = now_time.strftime('%Y年%m月%d日 %H時%M分%S秒')
test_str1 = f"スカンク 茅ヶ崎市 Test ① +-*/ {time_str1}"

# 各種フォントを使用できるようにする。
# HeiseiMin-W3、HeiseiKakuGo-W5は最初から使える
font_name_heisei_min = "HeiseiMin-W3"
pdfmetrics.registerFont(UnicodeCIDFont(font_name_heisei_min))
font_name_heisei_kakugo = "HeiseiKakuGo-W5"
pdfmetrics.registerFont(UnicodeCIDFont(font_name_heisei_kakugo))
# IPAフォントをダウンロード・配置して、TTFのパスを指定する
font_name_ipag = 'ipa_font1'
pdfmetrics.registerFont(TTFont(font_name_ipag, "./ipag00303/ipag.ttf"))

# 表示位置
px = 50
py = 750

for font_name in [font_name_heisei_min, font_name_heisei_kakugo, font_name_ipag]:
    # フォント指定。サイズも指定
    pdf_canvas.setFont(font_name, 16)
    # フォント名表示
    pdf_canvas.drawString(px, py, font_name)
    py -= 20
    #テスト文字表示
    pdf_canvas.drawString(px, py, test_str1)
    py -= 30

# PDFファイルを保存
pdf_canvas.save()

pip install reportlab