2017-09-14 22 views
0

我想通過點擊按鈕下載當前頁面轉換成PDF打開圖像刪除邊框,我用了html2canvas概念,這裏是示例代碼從PDF鉻

$("#btnPdf").click(function(){ 

    var dt = new Date(); 
    var day = dt.getDate(); 
    var month = dt.getMonth() + 1; 
    var year = dt.getFullYear(); 
    var hour = dt.getHours(); 
    var mins = dt.getMinutes(); 
    var postfix = month + "-" + day + "-" + year + "_" + hour + ":" + mins; 
    var docs = 'dd'+ postfix; 



    html2canvas(document.getElementById("main-div"), { 
     onrendered: function(canvas) { 

      var width = canvas.width; 
      var height = canvas.height; 
      var millimeters = {}; 
      millimeters.width = Math.floor(width * 0.264583); 
      millimeters.height = Math.floor(height * 0.264583); 


      var imgData = canvas.toDataURL('image/png',1.0); 
      console.log('Report Image URL: '+imgData); 

      var doc = new jsPDF('p', 'mm', "a4"); //210mm wide and 297mm high 
      doc.deletePage(1); 
      doc.addPage(millimeters.width, millimeters.height); 
      doc.addImage(imgData, 'png',0,0); 
      doc.save(docs+'.pdf'); 
     }, 

    }); 

}); 

和工作fine.I我得到只有當您打開PDF格式的PDF格式時,當前頁面圖像的邊框才能在pdf中顯示,但是在Adobe,Firefox等中打開時,我沒有在PDF格式中獲得任何邊框。但問題出在Chrome上。請任何建議,如何刪除在鉻打開的PDF圖像的邊界。提前

回答

1

感謝我認爲你真正的問題是:

如何通過鍍鉻「打印頁」控制HTML樣式時,保存爲PDF?

也許,你可以先通過chrome「Element」pannel或javascript設置img風格,移除img邊框,然後調用save api。

PS:

據我所知,有什麼做鉻打印時頁面PDF格式是複雜的。

例如,它需要將頁面內容(像素)轉換爲pdf大小(a4/a3/a2),這決定了pdf typograph。

一些網頁設計人員通過添加一個<link>元素來調整打印作品的屬性media="print"。所以這個樣式文件只有在打印時纔會起作用。