如何解决在jspdf中删除模糊字体

时间:2015-11-20 09:38:33

标签: javascript html jspdf

我正在使用此脚本代码,但它显示字体模糊。它如何解决问题     

$(document).ready(function() {
    console.log("Doc is ready");

    $('#pdf').click(function() {
        var pdf = new jsPDF('portrait', 'mm', 'letter');
          var options = {
            pagesplit: true
        }; 

        pdf.addHTML($('body'), 0, 0, options, function(){
            pdf.save("Report10.pdf");
        });

    })
})

</script>

1 个答案:

答案 0 :(得分:0)

我对Highcharts和AngularJS的jsPDF导出也有同样的问题。我找到了一个解决方案。我不知道为什么jsPDF表现得像这样,但这个解决方案解决了我的问题。 :)  You can check screenshot

步骤1)在图元素div之前添加一个带id的空div。

<div id="tempStyleDiv"></div>

步骤2)为图表的文本元素编写CSS选择器,并指定属性display:none。这里我使用了chrome浏览器的inspect元素来查找CSS选择器。您需要在pdf.addHTML()函数之前添加以下js代码行。

$('#tempStyleDiv').append("<style>.highcharts-container>svg>g>text{display:none;}</style>");

步骤3)成功导出pdf后,现在我们需要删除display:none属性。所以只需在pdf.save(),

之后添加以下行

setTimeout(function(){$('#tempStyleDiv').html("");},2000);