fpdf の multi_cell の使い方 (python3)


PHP のポートの FPDF の multi_cell の使い方です。

次のような PDF を作成します。

fpdf_multi_cell.py
#! /usr/bin/python
#
#   fpdf_multi_cell.py
#
#                   Feb/02/2019
# ------------------------------------------------------------------
import  sys
from fpdf import FPDF

# ------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
#
file_out = sys.argv[1]
sys.stderr.write(file_out + "\n")
#
pdf=FPDF()
pdf.add_page()
pdf.add_font('TakaoMincho','','/usr/share/fonts/OTF/TakaoMincho.ttf',uni=True)
pdf.set_font('TakaoMincho', '',14)

sys.stderr.write("pdf.x = %d\n" % pdf.x)
sys.stderr.write("pdf.y = %d\n" % pdf.y)

top = pdf.y
#
ww = [40,30,20,30]
#
offset = [0,0,0]
offset[0] = pdf.x + ww[0]
offset[1] = offset[0] + ww[1]
offset[2] = offset[1] + ww[2]

pdf.multi_cell(ww[0],10,'こんにちは\nおはよう\n今晩は\nさようなら',1,0)

pdf.multi_cell(ww[0],10,'下野市\n小山市\n真岡市\n佐野市',1,0)
pdf.multi_cell(ww[0],10,'AAAA\nBBBB\nCCCC\nDDDD',1,0)

pdf.y = top
pdf.x = offset[0]

sys.stderr.write("pdf.x = %d\n" % pdf.x)
sys.stderr.write("pdf.y = %d\n" % pdf.y)

pdf.multi_cell(ww[1],60,'Test AAA',1,0)

pdf.x = offset[0] 
pdf.multi_cell(ww[1],60,'Test BBB',1,0)

pdf.x = offset[1]
pdf.y = top
pdf.multi_cell(ww[2],60,'Sample\nPPP',1,0)

pdf.y = top
for season in ['春','夏','秋','冬']:
    pdf.x = offset[2]
    pdf.multi_cell(ww[3],30,season,1,0)
#
pdf.output(file_out,'F')
#
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------

使い方

./fpdf_multi_cell.py out01.pdf