jsPDF:查看PDF内容

jsPDF: View Content Of PDF

我得到了一个新的 PDF 生成器,只使用 javascript 并且没有实现服务器代码。但是当我总是尝试 运行 代码时,文件总是自动保存或下载,所以我没有机会查看或查看内容。使用 g 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>

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

虽然 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'));