我正在使用JSPDF 1.4.1,HTML @ Canvas 1.0.0-alpha.12和Angular 6将报告导出为PDF,但是根据转换内容的大小,我遇到了渲染问题。
我成功地在两个方向上都创建了PDF,当创建一页PDF时,通过调整位置来创建多页PDF时,该页面呈现了很好的(清晰度为80%-85%)属性,但使用相同的addImage()方法,页面呈现的效果(清晰度提高+ -50%)。
const div;
const options = {background: "white", height: div.clientHeight, width: div.clientWidth, letterRendering:true};
html2canvas(div, options).then((canvas) => {
var width = doc.internal.pageSize.getWidth();
var height = doc.internal.pageSize.getHeight();
height = ratio * width;
var imgWidth = 208;
var pageHeight = 295;
var imgHeight = canvas.height * imgWidth / canvas.width;
var heightLeft = imgHeight;
var position = 2;
doc.addImage(imgData, 'PNG', 6, position, width-13, imgHeight, '', 'FAST');
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(imgData, 'PNG', 6, position+4, width-13, imgHeight, '', 'FAST');
heightLeft -= pageHeight;
}
doc.save(fileName);
我的问题是,无论需要渲染多少文件,还是增加文件大小,是否都可以保持清晰度不变?我知道这是在Alpha中,但是是否有任何成功或任何建议?