将 HTML 模态转换为 pdf



我是angularjs的新手,我正在尝试将我的html模态保存到angularjs中的PDF中。但它只在屏幕上保存当前页面,它不会保存整个模态,这是相当大的。

我已经尝试了以下代码

<head>
    <script src="angular.min.js"></script>
    <script src="Angular/angular-animate.min.js"></script>
    <script src="Angular/angular-aria.min.js"></script>
    <script src="Angular/angular-material.min.js"></script>
    <script src="Angular/angular-messages.min.js"></script>
    <script src="jquery.min.js"></script>
    <script src="moment.js"></script>
    <script src="ui-bootstrap-tpls-0.10.0.js"></script>
    <script src="AccordianController.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.22/pdfmake.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
    <script src="script.js"></script>
</head>
<body>
it contains the modal which is not shown here
</body>
Controller
$scope.pdf = function () {
          html2canvas(document.getElementById('exportthis'), {
              onrendered: function (canvas) {
                  var data = canvas.toDataURL();
                  var docDefinition = {
                      content: [{
                          image: data,
                          width: 500,
                      }]
                  };
                  pdfMake.createPdf(docDefinition).download("test.pdf");
              }
          });
      }

我的模态很大,几乎需要 3 页,但在这里通过这段代码,我只能保存显示的屏幕。

请向我建议任何解决方案或我可以遵循的解决方案来实现我的要求。谢谢。

它可能来自html2canvas,它只考虑屏幕上"可见"的内容。

您应该尝试这篇文章中的解决方法,看看您是否设法打印了整个模式:HTML2Canvas将溢出的内容转换为图像

最新更新