Python如何设置Excel转PDF为横向 解决内容被拆分截断问题
可以通过配置Excel工作表的页面布局参数实现横向导出,同时还可以额外配置页面适配规则避免内容截断,修改后的代码如下:
import win32com.client def PDF(): # 启动Excel应用 excel = win32com.client.Dispatch("Excel.Application") # 可选:设置Excel后台运行不显示界面 excel.Visible = False # 打开目标Excel文件 sheets = excel.Workbooks.Open('Logbook.xlsx') work_sheets = sheets.Worksheets[0] # --- 新增页面配置部分 --- # 设置页面方向为横向,2对应常量xlLandscape,纵向为1(xlPortrait) work_sheets.PageSetup.Orientation = 2 # 可选配置:所有内容适配到1页宽,避免水平方向截断 work_sheets.PageSetup.FitToPagesWide = 1 # 可选配置:不限制页高,如果需要所有内容适配到1页可以设为1 work_sheets.PageSetup.FitToPagesTall = False # --- 配置结束 --- # 导出为PDF work_sheets.ExportAsFixedFormat(0, 'Logbook.pdf') # 关闭工作簿不保存修改(避免原文件被改动) sheets.Close(SaveChanges=False) # 退出Excel进程,避免后台残留 excel.Quit() # 释放COM对象 del excel
如果你的环境已经引入了Excel的常量定义,也可以把2替换为win32com.client.constants.xlLandscape,效果完全一致。上面的适配配置可以根据你的实际需求调整,如果需要所有表格内容完全放在一页PDF里,可以把FitToPagesTall也设置为1。
内容的提问来源于stack exchange,提问作者ioannis mazonakis
相关产品推荐
相关产品推荐

