Dav*_*iga 4 javascript jquery jspdf
我在使用时遇到问题jsPDF。当使用doc.output('datauri');在另一个窗口中打开新的 PDF 时,没有任何反应。
这就是我正在做的事情:
$(".email_button").click(function(){
// LOOP THROUGH EACH CANVAS SECTION AND STORE THE DATA INTO PDF FORM USING JSPDF CONVERT
var canvas = $(".ifp_container_printing_15 canvas").get();
var imgData = canvas[0].toDataURL();
var doc = new jsPDF();
doc.setFontSize(40);
doc.text(35, 25, "Paranyan loves jsPDF");
doc.addImage(imgData, 'png', 15, 40, 180, 160);
doc.output('dataurlnewwindow'); //opens the data uri in new window
});
Run Code Online (Sandbox Code Playgroud)
这是我的来源:
<script type="text/javascript" src="/printing/jsPDF-master/jspdf.js"></script>
<script type="text/javascript" src="/printing/jsPDF-master/libs/png_support/zlib.js"></script>
<script type="text/javascript" src="/printing/jsPDF-master/libs/png_support/png.js"></script>
<script type="text/javascript" src="/printing/jsPDF-master/jspdf.plugin.addimage.js"></script>
<script type="text/javascript" src="/printing/jsPDF-master/jspdf.plugin.png_support.js"></script>
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,转换后的图像工作完全正常,我能够输出该图像image data url。只有在使用时才output不会发生任何事情。建议、想法?
更新:
这是我现在正在做的事情:
$(".email_button").click(function(){
// LOOP THROUGH EACH CANVAS SECTION AND STORE THE DATA INTO PDF FORM USING JSPDF CONVERT
var canvas = $(".ifp_container_printing_15 canvas").get();
var ctx=canvas[0].getContext("2d");
ctx.fillRect(20,20,150,100);
ctx.fillStyle = 'white'; // or whatever color
ctx.fillRect(0, 0, canvas[0].height, canvas[0].width);
var imgData = canvas[0].toDataURL('image/jpeg');
console.log(imgData);
var doc = new jsPDF();
doc.addImage(imgData, "jpeg", 60,50);
doc.output('dataurlnewwindow');
});
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我只得到白色背景,没有显示图像。建议?
解决了:
除了遵循下面的答案之外,如果您需要使用KinecticJS我使用的以下内容填充图层(画布)的背景:
var box = new Kinetic.Rect({
width: floorObj.width,
height: floorObj.height,
fill: 'white',
draggable: false,
name: 'background'
});
Run Code Online (Sandbox Code Playgroud)
这里发生的事情是。我的图像是一个PNG,所以默认情况下它有一个透明的背景,但不能很好地转移到jsPDF 所以我只是创建了一个简单的图层,它使用相同的图像尺寸来创建白色背景。所以它的渲染效果PDF非常好。
尝试使用它而不是最后一行。
window.open(doc.output('bloburl'), '_blank');
Run Code Online (Sandbox Code Playgroud)
我还遇到了 adblock 阻止我的新窗口的问题。
| 归档时间: |
|
| 查看次数: |
27815 次 |
| 最近记录: |