簡體   English   中英

為什么 window.print() 和/或 google.script.host.close() 使 html2pdf 保存空白頁?

[英]Why does window.print() and/or google.script.host.close() makes html2pdf save a blank page?

我正在努力將 pdf 保存到 Google Drive 文件夾中,但只有在我注釋掉window.print()google.script.host.close()時它才有效,但這些是重要的步驟。

我怎樣才能讓它們出現在圖片中?

function savefile() {
  var element = document.getElementById("pgBody");
  var poNumber = document.getElementById('fabricPo').value;
  var supplier = document.getElementById('selectSupplier').value;
  let fileName = supplier + " - " + poNumber + ".pdf";
  var opt = {
    margin: [2, 5, 2, 5], //top, left, bottom, right
    filename: fileName,
    image: {
      type: "jpeg",
      quality: 0.98,
    },
    html2canvas: {
      scale: 1,
    },
    jsPDF: {
      unit: "mm",
      orientation: "landscape",
    },
  };
  //window.print();
  html2pdf()
    .set(opt)
    .from(element)
    .outputPdf()
    .then(function(p) {
      let file = btoa(p);
      google.script.run.savePdf(file, fileName);
      //google.script.host.close();
    });
}

感謝你的幫助!

試試這樣:

function savefile() {
  var element = document.getElementById("pgBody");
  var poNumber = document.getElementById('fabricPo').value;
  var supplier = document.getElementById('selectSupplier').value;
  let fileName = supplier + " - " + poNumber + ".pdf";
  var opt = {
    margin: [2, 5, 2, 5], //top, left, bottom, right
    filename: fileName,
    image: {
      type: "jpeg",
      quality: 0.98,
    },
    html2canvas: {
      scale: 1,
    },
    jsPDF: {
      unit: "mm",
      orientation: "landscape",
    },
  };
  html2pdf()
    .set(opt)
    .from(element)
    .outputPdf()
    .then(function(p) {
      let file = btoa(p);
      google.script.run
      .withSuccessHandler(() => {
        window.print();
        google.script.host.close();
      })
      .savePdf(file, fileName);
  
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM