我正在使用此脚本代码,但它显示字体模糊。它如何解决问题
$(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>
答案 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);