Python使用comtypes转Excel为PDF时图片画质下降模糊如何解决
Excel转PDF导出图片模糊解决方案
你遇到的图片劣化问题由Excel导出PDF时默认启用的图片压缩逻辑导致,可通过调整导出参数和应用配置修复,修改后的完整可用代码如下:
import os import comtypes.client SOURCE_DIR = r'C:\Users\ADEM\Desktop' TARGET_DIR = r'C:\Users\ADEM\Desktop' app = comtypes.client.CreateObject('Excel.Application') app.Visible = False # 禁用默认图像优化压缩 app.DefaultWebOptions.AllowPNG = True app.DefaultWebOptions.OptimizeForBrowser = False infile = os.path.join(os.path.abspath(SOURCE_DIR), 'eessa.xlsx') outfile = os.path.join(os.path.abspath(TARGET_DIR), 'essa51.pdf') doc = app.Workbooks.Open(infile) # 禁用当前工作簿所有图片的压缩规则,Excel2013及以上版本支持,低版本可删除该行 doc.DoNotCompressPictures = True # 第三个参数修改为0,启用高清质量导出 doc.ExportAsFixedFormat(0, outfile, 0, 0) doc.Close() app.Quit()
核心修改点说明:
- 原
ExportAsFixedFormat方法的第三个参数为导出质量配置,原传入的1对应最小质量(最高压缩比),修改为0对应标准高清导出质量,仅修改该参数即可解决绝大多数场景的模糊问题 - 新增
DoNotCompressPictures属性配置,关闭工作簿层级的图片压缩逻辑 - 新增
DefaultWebOptions相关配置,关闭Excel全局默认的图像导出优化规则,避免二次压缩图片
内容的提问来源于stack exchange,提问作者Adem Ülker
相关产品推荐
相关产品推荐

