from fpdf import FPDF
# สร้างไฟล์ PDF และตั้งค่าฟอนต์ภาษาไทย
pdf = FPDF()
pdf.add_page()
# เพิ่มฟอนต์ภาษาไทย
pdf.add_font("THSarabun", "", "/usr/share/fonts/truetype/thai/THSarabunNew.ttf", uni=True)
pdf.set_font("THSarabun", size=14)
# หัวข้อ
pdf.cell(200, 10, txt="รายงานดัชนีมวลกายเด็กอายุ 7-8 ปี", ln=True, align='C')
pdf.ln(5)
# หัวตาราง
columns = ["เลขที่", "เลขประจำตัว", "ชื่อ-สกุล", "น้ำหนัก", "ส่วนสูง", "BMI", "หมายเหตุ"]
col_widths = [10, 20, 60, 15, 15, 20, 40]
for col, width in zip(columns, col_widths):
pdf.cell(width, 8, col, border=1, align='C')
pdf.ln()
# เพิ่มข้อมูลลงตาราง
for _, row in df.iterrows():
pdf.cell(10, 8, str(row["เลขที่"]), border=1, align='C')
pdf.cell(20, 8, str(row["เลขประจำตัว"]), border=1, align='C')
pdf.cell(60, 8, row["ชื่อ-สกุล"], border=1, align='L')
pdf.cell(15, 8, str(row["น้ำหนัก"]), border=1, align='C')
pdf.cell(15, 8, str(row["ส่วนสูง"]), border=1, align='C')
pdf.cell(20, 8, f"{row['BMI']:.2f}", border=1, align='C')
pdf.cell(40, 8, row["หมายเหตุ"], border=1, align='C')
pdf.ln()
# บันทึกไฟล์ PDF
pdf_filename = "/mnt/data/BMI_Report.pdf"
pdf.output(pdf_filename)
pdf_filename
ZnJvbSBmcGRmIGltcG9ydCBGUERGCgojIOC4quC4o+C5ieC4suC4h+C5hOC4n+C4peC5jCBQREYg4LmB4Lil4Liw4LiV4Lix4LmJ4LiH4LiE4LmI4Liy4Lif4Lit4LiZ4LiV4LmM4Lig4Liy4Lip4Liy4LmE4LiX4LiiCnBkZiA9IEZQREYoKQpwZGYuYWRkX3BhZ2UoKQoKIyDguYDguJ7guLTguYjguKHguJ/guK3guJnguJXguYzguKDguLLguKnguLLguYTguJfguKIKcGRmLmFkZF9mb250KCJUSFNhcmFidW4iLCAiIiwgIi91c3Ivc2hhcmUvZm9udHMvdHJ1ZXR5cGUvdGhhaS9USFNhcmFidW5OZXcudHRmIiwgdW5pPVRydWUpCnBkZi5zZXRfZm9udCgiVEhTYXJhYnVuIiwgc2l6ZT0xNCkKCiMg4Lir4Lix4Lin4LiC4LmJ4LitCnBkZi5jZWxsKDIwMCwgMTAsIHR4dD0i4Lij4Liy4Lii4LiH4Liy4LiZ4LiU4Lix4LiK4LiZ4Li14Lih4Lin4Lil4LiB4Liy4Lii4LmA4LiU4LmH4LiB4Lit4Liy4Lii4Li4IDctOCDguJvguLUiLCBsbj1UcnVlLCBhbGlnbj0nQycpCnBkZi5sbig1KQoKIyDguKvguLHguKfguJXguLLguKPguLLguIcKY29sdW1ucyA9IFsi4LmA4Lil4LiC4LiX4Li14LmIIiwgIuC5gOC4peC4guC4m+C4o+C4sOC4iOC4s+C4leC4seC4pyIsICLguIrguLfguYjguK0t4Liq4LiB4Li44LilIiwgIuC4meC5ieC4s+C4q+C4meC4seC4gSIsICLguKrguYjguKfguJnguKrguLnguIciLCAiQk1JIiwgIuC4q+C4oeC4suC4ouC5gOC4q+C4leC4uCJdCmNvbF93aWR0aHMgPSBbMTAsIDIwLCA2MCwgMTUsIDE1LCAyMCwgNDBdCgpmb3IgY29sLCB3aWR0aCBpbiB6aXAoY29sdW1ucywgY29sX3dpZHRocyk6CiAgICBwZGYuY2VsbCh3aWR0aCwgOCwgY29sLCBib3JkZXI9MSwgYWxpZ249J0MnKQpwZGYubG4oKQoKIyDguYDguJ7guLTguYjguKHguILguYnguK3guKHguLnguKXguKXguIfguJXguLLguKPguLLguIcKZm9yIF8sIHJvdyBpbiBkZi5pdGVycm93cygpOgogICAgcGRmLmNlbGwoMTAsIDgsIHN0cihyb3dbIuC5gOC4peC4guC4l+C4teC5iCJdKSwgYm9yZGVyPTEsIGFsaWduPSdDJykKICAgIHBkZi5jZWxsKDIwLCA4LCBzdHIocm93WyLguYDguKXguILguJvguKPguLDguIjguLPguJXguLHguKciXSksIGJvcmRlcj0xLCBhbGlnbj0nQycpCiAgICBwZGYuY2VsbCg2MCwgOCwgcm93WyLguIrguLfguYjguK0t4Liq4LiB4Li44LilIl0sIGJvcmRlcj0xLCBhbGlnbj0nTCcpCiAgICBwZGYuY2VsbCgxNSwgOCwgc3RyKHJvd1si4LiZ4LmJ4Liz4Lir4LiZ4Lix4LiBIl0pLCBib3JkZXI9MSwgYWxpZ249J0MnKQogICAgcGRmLmNlbGwoMTUsIDgsIHN0cihyb3dbIuC4quC5iOC4p+C4meC4quC4ueC4hyJdKSwgYm9yZGVyPTEsIGFsaWduPSdDJykKICAgIHBkZi5jZWxsKDIwLCA4LCBmIntyb3dbJ0JNSSddOi4yZn0iLCBib3JkZXI9MSwgYWxpZ249J0MnKQogICAgcGRmLmNlbGwoNDAsIDgsIHJvd1si4Lir4Lih4Liy4Lii4LmA4Lir4LiV4Li4Il0sIGJvcmRlcj0xLCBhbGlnbj0nQycpCiAgICBwZGYubG4oKQoKIyDguJrguLHguJnguJfguLbguIHguYTguJ/guKXguYwgUERGCnBkZl9maWxlbmFtZSA9ICIvbW50L2RhdGEvQk1JX1JlcG9ydC5wZGYiCnBkZi5vdXRwdXQocGRmX2ZpbGVuYW1lKQoKcGRmX2ZpbGVuYW1lCg==
from fpdf import FPDF
# สร้างไฟล์ PDF และตั้งค่าฟอนต์ภาษาไทย
pdf = FPDF()
pdf.add_page()
# เพิ่มฟอนต์ภาษาไทย
pdf.add_font("THSarabun", "", "/usr/share/fonts/truetype/thai/THSarabunNew.ttf", uni=True)
pdf.set_font("THSarabun", size=14)
# หัวข้อ
pdf.cell(200, 10, txt="รายงานดัชนีมวลกายเด็กอายุ 7-8 ปี", ln=True, align='C')
pdf.ln(5)
# หัวตาราง
columns = ["เลขที่", "เลขประจำตัว", "ชื่อ-สกุล", "น้ำหนัก", "ส่วนสูง", "BMI", "หมายเหตุ"]
col_widths = [10, 20, 60, 15, 15, 20, 40]
for col, width in zip(columns, col_widths):
pdf.cell(width, 8, col, border=1, align='C')
pdf.ln()
# เพิ่มข้อมูลลงตาราง
for _, row in df.iterrows():
pdf.cell(10, 8, str(row["เลขที่"]), border=1, align='C')
pdf.cell(20, 8, str(row["เลขประจำตัว"]), border=1, align='C')
pdf.cell(60, 8, row["ชื่อ-สกุล"], border=1, align='L')
pdf.cell(15, 8, str(row["น้ำหนัก"]), border=1, align='C')
pdf.cell(15, 8, str(row["ส่วนสูง"]), border=1, align='C')
pdf.cell(20, 8, f"{row['BMI']:.2f}", border=1, align='C')
pdf.cell(40, 8, row["หมายเหตุ"], border=1, align='C')
pdf.ln()
# บันทึกไฟล์ PDF
pdf_filename = "/mnt/data/BMI_Report.pdf"
pdf.output(pdf_filename)
pdf_filename