点导出按钮下载的图片放进 Word 是透明底,转成 PDF 打印整块发黑,屏幕上看着却完全正常。日志里能对上时间点,这种反而好排。
getDataURL 默认 backgroundColor 是 transparent,透明区域导出成 alpha 0。浅色页面里看不出来,落到白纸或深色底上就暴露。这一点先确认清楚,后面就不用反复试。
const url = chart.getDataURL({
type: 'png', pixelRatio: 2, backgroundColor: '#fff'
});
「ECharts 导出背景透明」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。
报错里带路径的,先去看那个路径在不在、权限对不对。同一份配置存在多处的,先确认改的是被加载的那一份。
新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
处理上按这个顺序:导出时显式传 backgroundColor 为白色;pixelRatio 提到 2 保证清晰度;下载后用看图工具确认四角是白色不透明。
结果对不对很好判断,导出的 PNG 放到黑色背景上看四角是白色,打印不再发黑。
