2017-08-31 50 views
-1

我已經生成一個大表的簡單的HTML頁面https://gist.github.com/MartinThoma/056183bc0862a787a8d4e8fe57e51f3f如何計算桌子的切割位置?

現在,我認爲標準的打印選項是300dpi的這一個A4頁面具有2480個像素×3508個像素(source

的谷歌瀏覽器的PDF打印插件削減頁面/ 7列:

enter image description here

但是當我計算寬度與

var width_total = 0; 
for (var i = 0; i < 15; i++) { 
    var theTh = $("#colTh" + i) 
    var thWidth = 0; // in pixel 
    thWidth += theTh.width(); 
    thWidth += parseInt(theTh.css("padding-left"), 10) + parseInt(theTh.css("padding-right"), 10); //Total Padding Width 
    thWidth += parseInt(theTh.css("margin-left"), 10) + parseInt(theTh.css("margin-right"), 10); //Total Margin Width 
    thWidth += parseInt(theTh.css("borderLeftWidth"), 10) + parseInt(theTh.css("borderRightWidth"), 10); //Total Border Width 

    width_total += thWidth; 
    console.log("width " + i + ": " + width_total) 
} 

我在第7欄

1200寬度我是在哪裏進行計算的可打印寬度的錯誤呢?

  • 邊距/邊框/填充/寬度:我覺得這應該是正確的DPI
  • 頁密度:如果是140和150之間的事情也能適應。有沒有辦法找出瀏覽器正在使用/設置密度?
  • 還有別的嗎?
+0

'pdfinfo'告訴我生成的PDF有'頁面大小:595 x 842點(A4)'。這適合A4尺寸@ 72 DPI。但是,那麼它應該削減6和7之間的頁面... –

+0

有趣。儘管我使用'th,td {page-break-inside:avoid;分頁-後:汽車;寬度:150px;最大寬度:150px;最小寬度:150px;}',Firefox仍然適合所有列在一個頁面上,而chrome在第7列之後中斷 –

回答

0

我想答案是

  1. 瀏覽器調節表( 「縮小以適合」)。用戶可以在瀏覽器打印設置中禁用此功能。
  2. 默認結果是96 DPI。 210mm是A4頁面的寬度,25.4mm/inch => 96px/inch *(1/25.4)inch/mm×210mm = 794px。