Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何打印由代码呈现的图表_Javascript_Jquery_Html_Css_Chart.js - Fatal编程技术网

Javascript 如何打印由代码呈现的图表

Javascript 如何打印由代码呈现的图表,javascript,jquery,html,css,chart.js,Javascript,Jquery,Html,Css,Chart.js,我正在使用ChartJS库在运行时生成报告,页面上还有一个打印按钮,该按钮打印一个div: <div id="printThis"> <h3 id="titulo_grafica"></h3> <canvas id="graficaMedidas" width="200" height="100"></canvas> </div> 我不认为我需要在这里粘贴代码来渲染图片,但它是一个好看的折线图 Java

我正在使用ChartJS库在运行时生成报告,页面上还有一个打印按钮,该按钮打印一个div:

<div id="printThis">
    <h3 id="titulo_grafica"></h3>
    <canvas id="graficaMedidas" width="200" height="100"></canvas>
</div>

我不认为我需要在这里粘贴代码来渲染图片,但它是一个好看的折线图

JavaScript是这样的:

  document.getElementById("btnPrint").onclick = function () {
            printElement(document.getElementById("printThis"));
            printElement(document.getElementById("printThis2"), true, "<hr />");
            window.print();
        }
document.getElementById(“btnPrint”).onclick=function(){
printElement(document.getElementById(“printThis”);
printElement(document.getElementById(“printThis2”),true,“
”; window.print(); }

此脚本允许您拍摄网页或部分内容的“截图” 它可以直接在用户浏览器上显示。屏幕截图基于DOM 因此,可能无法100%准确地反映实际情况 不生成实际的屏幕截图,但基于 页面上提供的信息

用于生成PDF的HTML5客户端解决方案。非常适合举办活动 票,报告,证书,随便你说

js在浏览器中实现saveAs()FileSaver接口 这不是天生的支持。有一个 演示如何保存各种媒体类型

把它们放在一起,用它们来约束你的行为。这将生成一个可以保存、打印或查看的PDF

<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/html2canvas.js"></script>
<script src="/path/to/jspdf.min.js"></script>
<script src="/path/to/FileSaver.min.js"></script>
<script>
    $('#btnPrint').on('click', function(event) {
        event.preventDefault();
        html2canvas($('#printThis'), {
            onrendered: function(canvas) {
                var imgData = canvas.toDataURL('image/jpeg');
                var doc = new jsPDF('landscape');
                doc.addImage(imgData, 'JPEG', 15, 45, 270, 125);
                doc.save('download.pdf');
                return false;
            }
        });
    });
</script>

$('#btnPrint')。在('click',函数(事件){
event.preventDefault();
html2canvas($(“#打印此”){
onrendered:函数(画布){
var imgData=canvas.toDataURL('image/jpeg');
var doc=新的jsPDF(“景观”);
addImage文件(imgData,'JPEG',15,45,270,125);
doc.save('download.pdf');
返回false;
}
});
});
仅使用html2canvas打印:

<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/html2canvas.js"></script>
<script>
    $('#btnPrint').on('click', function(event) {
        event.preventDefault();
        html2canvas($('#printThis'), {
            onrendered: function(canvas) {
                var imgData = canvas.toDataURL('image/jpeg'); 
                var windowContent = '<!DOCTYPE html>';
                windowContent += '<html>'
                windowContent += '<head><title>Print canvas</title></head>';
                windowContent += '<body>'
                windowContent += '<img src="' + imgData + '">';
                windowContent += '</body>';
                windowContent += '</html>';
                var printWin = window.open('', '', 'width=340,height=260');
                printWin.document.open();
                printWin.document.write(windowContent);
                printWin.document.close();
                printWin.focus();
                printWin.print();
                printWin.close();
                return false;
            }
        });
    });
</script>

$('#btnPrint')。在('click',函数(事件){
event.preventDefault();
html2canvas($(“#打印此”){
onrendered:函数(画布){
var imgData=canvas.toDataURL('image/jpeg');
var windowContent='';
windowContent+=“”
windowContent+=“打印画布”;
windowContent+=“”
windowContent+='';
windowContent+='';
windowContent+='';
var printWin=window.open('','',宽度=340,高度=260');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
返回false;
}
});
});
您可以在不使用jQuery或任何插件的情况下执行此操作,但您必须直接将画布作为目标,而不使用任何HTML,只使用以下方法:


document.getElementById('btnPrint')。onclick=function(){
var imgData=document.getElementById('graficaMedidas').toDataURL('image/jpeg');
var windowContent='';
windowContent+=“”
windowContent+=“打印画布”;
windowContent+=“”
windowContent+='';
windowContent+='';
windowContent+='';
var printWin=window.open('','',宽度=340,高度=260');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}

此脚本允许您拍摄网页或部分内容的“截图” 它可以直接在用户浏览器上显示。屏幕截图基于DOM 因此,可能无法100%准确地反映实际情况 不生成实际的屏幕截图,但基于 页面上提供的信息

用于生成PDF的HTML5客户端解决方案。非常适合举办活动 票,报告,证书,随便你说

js在浏览器中实现saveAs()FileSaver接口 这不是天生的支持。有一个 演示如何保存各种媒体类型

把它们放在一起,用它们来约束你的行为。这将生成一个可以保存、打印或查看的PDF

<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/html2canvas.js"></script>
<script src="/path/to/jspdf.min.js"></script>
<script src="/path/to/FileSaver.min.js"></script>
<script>
    $('#btnPrint').on('click', function(event) {
        event.preventDefault();
        html2canvas($('#printThis'), {
            onrendered: function(canvas) {
                var imgData = canvas.toDataURL('image/jpeg');
                var doc = new jsPDF('landscape');
                doc.addImage(imgData, 'JPEG', 15, 45, 270, 125);
                doc.save('download.pdf');
                return false;
            }
        });
    });
</script>

$('#btnPrint')。在('click',函数(事件){
event.preventDefault();
html2canvas($(“#打印此”){
onrendered:函数(画布){
var imgData=canvas.toDataURL('image/jpeg');
var doc=新的jsPDF(“景观”);
addImage文件(imgData,'JPEG',15,45,270,125);
doc.save('download.pdf');
返回false;
}
});
});
仅使用html2canvas打印:

<script src="/path/to/jquery.min.js"></script>
<script src="/path/to/html2canvas.js"></script>
<script>
    $('#btnPrint').on('click', function(event) {
        event.preventDefault();
        html2canvas($('#printThis'), {
            onrendered: function(canvas) {
                var imgData = canvas.toDataURL('image/jpeg'); 
                var windowContent = '<!DOCTYPE html>';
                windowContent += '<html>'
                windowContent += '<head><title>Print canvas</title></head>';
                windowContent += '<body>'
                windowContent += '<img src="' + imgData + '">';
                windowContent += '</body>';
                windowContent += '</html>';
                var printWin = window.open('', '', 'width=340,height=260');
                printWin.document.open();
                printWin.document.write(windowContent);
                printWin.document.close();
                printWin.focus();
                printWin.print();
                printWin.close();
                return false;
            }
        });
    });
</script>

$('#btnPrint')。在('click',函数(事件){
event.preventDefault();
html2canvas($(“#打印此”){
onrendered:函数(画布){
var imgData=canvas.toDataURL('image/jpeg');
var windowContent='';
windowContent+=“”
windowContent+=“打印画布”;
windowContent+=“”
windowContent+='';
windowContent+='';
windowContent+='';
var printWin=window.open('','',宽度=340,高度=260');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
返回false;
}
});
});
您可以在不使用jQuery或任何插件的情况下完成这项工作,但您必须