当前位置:  开发笔记 > 前端 > 正文

调整chart.js画布的大小以进行打印

如何解决《调整chart.js画布的大小以进行打印》经验,为你挑选了2个好方法。

我正在使用@media print {自定义我的打印视图.我的图表的问题是它们的打印大小取决于浏览器窗口的大小.因此,当我的浏览器很大时,画布对于页面来说太大了(我使用的是响应式图表)

我试图重新定义画布的大小@media print {而没有成功.

我打印时获得一致图表大小的解决方案有哪些(不影响我的浏览器视图)?

在此输入图像描述



1> Jonas Sciang..:

如果您的图表很简单,请尝试仅使用css

@media print {
    canvas.chart-canvas {
        min-height: 100%;
        max-width: 100%;
        max-height: 100%;
        height: auto!important;
        width: auto!important;
    }
}


正是我想要的东西,谢谢!

2> Reggie Pinkh..:

问题是图表不适合新的打印宽度尺寸.幸运的是,我们可以在启动打印时执行重绘.

解决方案是在canvas.toDataURL()调用打印时使用该方法将图表渲染为图像,然后在打印后将其切换回画布图表.有关toDataURL()的更多信息.

为了检测何时调用您的函数,webkit提供了方法window.matchMedia('print')(将true在打印期间或false之后再次),而其他浏览器使用window.onbeforeprintwindow.onafterprint. 更多关于印刷方法.

剩下要做的就是确保图像使用CSS响应,即缩放到100%宽度.


有谁知道这有什么实际的例子吗?
推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有