微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html2pdf 3.0.4 可以转换复杂的html文件吗?

如何解决html2pdf 3.0.4 可以转换复杂的html文件吗?

我有一个 html 文件,通过如下所示的画布绘制圆环图(尚未完成),我想将其转换为 pdf:

<!DOCTYPE html>
<html>

<head>
  <title>Blayn-report</title>
  <style>

  </style>

</head>

<body>
  <canvas id="chart" width="500" height="500" style="background-color:white"> </canvas>


  <script>
    var canvas = document.getElementById("chart");
    var chart = canvas.getContext("2d");

    function drawdountChart(canvas) {

      this.x,this.y,this.radius,this.linewidth,this.strockStyle,this.from,this.to = null;
      this.set = function (x,y,radius,from,to,linewidth,strockStyle) {
        this.x = x;
        this.y = y;
        this.radius = radius;
        this.from = from;
        this.to = to;
        this.linewidth = linewidth;
        this.strockStyle = strockStyle;
      }

      this.draw = function (data) {
        canvas.beginPath();
        canvas.linewidth = this.linewidth;
        canvas.strokeStyle = this.strockStyle;
        canvas.arc(this.x,this.to);
        canvas.stroke();
        var numberOfParts = data.numberOfParts;
        var parts = data.parts.pt;
        var colors = data.colors.cs;
        var df = Math.PI * 1.5;
        for (var i = 0; i < numberOfParts; i++) {
          canvas.beginPath();
          canvas.strokeStyle = colors[i];
          canvas.arc(this.x,df,df + (Math.PI * 2) * (parts[i] / 100));
          canvas.stroke();
          df += (Math.PI * 2) * (parts[i] / 100);
        }
      }
    }

    var data =
    {
      numberOfParts: 2,parts: { "pt": [45,55] },//percentage of each parts 
      colors: { "cs": ["green","yellow"] }//color of each part
    };

    var drawDount = new drawdountChart(chart);
    drawDount.set(150,150,100,Math.PI * 2,30,"#fff");
    drawDount.draw(data);



  </script>
</body>

</html>

当我尝试使用 html2pdf 3.0.4 转换它时,输出文件为空。但是当我将 html 文件更改为只有文本没有 js 的简单文件时,它工作正常。

所以我的问题是:

  • html2pdf可以用js转换复杂的文件吗?
  • 如果 html2pdf 无法转换复杂文件,我应该使用哪个库来转换?我已经考虑过自己编写pdf文件,但这会非常复杂。任何其他有关此问题的建议解决方案都会非常有帮助。

提前致谢!!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。