使用Python FPDF添加图片时底部图片跳页,如何禁用页脚或解决?
解决FPDF中图片跳转到新页面的问题
你遇到的问题并非页脚导致,核心原因是图片总高度超过A4页面尺寸,再加上FPDF默认的页面边距,触发了自动分页机制。A4标准页面高度为297mm,你设置每张图片高度为100mm,三张总和300mm已经超出页面高度,因此第三张图被自动放到新页面。
解决方案
通过关闭自动分页、清除页面边距,并调整图片高度适配页面尺寸,就能让三张图片铺满同一页:
from fpdf import FPDF class PDF(FPDF): pass def add_images(pdf): # 关闭自动分页,禁用分页触发机制 pdf.set_auto_page_break(auto=False, margin=0) # 设置页面边距为0,让图片完全覆盖页面 pdf.set_margins(left=0, top=0, right=0) # 计算每张图片的高度:A4总高度297mm,三等分后每张99mm img_height = 297 / 3 # 依次添加三张图片,每张占页面1/3高度 pdf.set_xy(0, 0) pdf.image(r'C:\Users\user\Desktop\pictures\1.jpeg', w=210, h=img_height) pdf.set_xy(0, img_height) pdf.image(r'C:\Users\user\Desktop\pictures\2.jpeg', w=210, h=img_height) pdf.set_xy(0, img_height * 2) pdf.image(r'C:\Users\user\Desktop\pictures\3.jpeg', w=210, h=img_height) if __name__ == '__main__': pdf = PDF() pdf.add_page() add_images(pdf) pdf.output(r'C:\Users\user\Desktop\test.pdf', 'F')
关键说明
set_auto_page_break(auto=False, margin=0):关闭FPDF的自动分页功能,避免内容超出页面时自动新建页面。set_margins(left=0, top=0, right=0):清除页面所有边距,确保图片可以从页面左上角开始铺满整个区域。- 按页面高度三等分图片:保证三张图片总高度刚好等于A4页面高度,不会出现超出分页的情况。如果需要保留图片比例,可只设置
w=210,让高度自动按比例缩放,再调整总高度适配页面。
内容的提问来源于stack exchange,提问作者Raz Goldberg
相关产品推荐
相关产品推荐

