jsPDF:查看PDF内容

6

我使用纯javascript编写了一个新的PDF生成器,没有实现任何服务器代码。但是每次运行代码时,文件总是自动保存或下载,因此我没有机会查看内容。当我使用jsPDF时,如何查看我的PDF内容?

var name = prompt('What is your name?');
var multiplier = prompt('Enter a number:');
multiplier = parseInt(multiplier);

var doc = new jsPDF();
doc.setFontSize(22);
doc.text(20, 20, 'Questions');
doc.setFontSize(16);
doc.text(20, 30, 'This belongs to: ' + name);

for(var i = 1; i <= 12; i ++) {
    doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ___');
}

doc.addPage();
doc.setFontSize(22);
doc.text(20, 20, 'Answers');
doc.setFontSize(16);

for(var i = 1; i <= 12; i ++) {
    doc.text(20, 30 + (i * 10), i + ' x ' + multiplier + ' = ' + (i * multiplier));
}
doc.save('Test.pdf');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js"></script>

2个回答

8
window.open(doc.output('bloburl'), '_blank');

7

虽然 window.open 可以正常工作,但为了安全起见,新的 Chrome 版本默认情况下会阻止弹出窗口,因此我需要另一种解决方案。

受以下页面启发:https://parall.ax/products/jspdf,我得出了以下解决方案:

HTML 代码(用于在屏幕上显示完整尺寸的 iframe):

 <iframe id="main-iframe" style="width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 2; border: none;"></iframe>

JavaScript 代码:

 document.getElementById('main-iframe').setAttribute('src', doc.output('bloburl'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接