在浏览器中导出为pdf或图像时,防止查看下载窗口

时间:2016-11-23 06:10:56

标签: html jspdf

将HTML页面导入PDF时,我会弹出类似于下面给出的下载窗口

但我不希望用户查看pdf已下载,但我仍然可以进行下载。

pop up image 我尝试了下面的代码,但我仍然在Firefox浏览器中找到一个窗口:

<!DOCTYPE html>
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
<body>


<script>
window.stop();
var pdf = new jsPDF('p', 'pt', 'a4');
pdf.addHTML(document.body, function() {
  pdf.save('web.pdf');
});
</script>
  <p id="to-pdf">HTML content...</p>
</body>
</html> 

我尝试使用window.stop但没有结果。请求您的帮助

1 个答案:

答案 0 :(得分:1)

我理解你的问题,你想在另一个浏览器选项卡中创建和显示pdf:

<!DOCTYPE html>
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
<body>
  <p id="to-pdf">HTML content...</p>
  <p id="openPDFButton">Open PDF</p>
</body>

<script>
var pdf = new jsPDF('p', 'pt', 'a4');
var pdfFile;
pdf.addHTML(document.body,function(){});
document.getElementById('openPDFButton').onclick = function(){
  var pdfBlob = pdf.output('blob');
  var fileURL = URL.createObjectURL(pdfBlob);
  window.open(fileURL);
};
</script>
</html> 

或者您也可以通过点击按钮在另一个标签页上打开pdf:

{{1}}

希望它有所帮助!