我是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页,但是通过此代码,我只能保存显示的屏幕。
请给我建议任何解决方案,或者我可以遵循这些解决方案来满足我的要求。 谢谢。
答案 0 :(得分:0)
它可能来自html2canvas,它仅考虑屏幕上的“可见”内容。
您应该尝试这篇文章中的解决方法,看看是否能够打印出整个模式:HTML2Canvas converting overflowed content to image