アーロン・ヒルの答えに基づいて、次のJavaScriptを書きました。
//Add a div to each table cell so these don't break across pages when printed
//See http://stackoverflow.com/a/17982110/201648
$(document).ready(function () {
var ctlTd = $('.dontSplit td');
if (ctlTd.length > 0)
{
//console.log('Found ctlTd');
ctlTd.wrapInner('<div class="avoidBreak" />');
}
});
どこdontSplitはあなたがTDのページに分割したくないテーブルのクラスです。これを次のCSSで使用します(これも、Aaron Hillによるものです)。
.avoidBreak {
page-break-inside: avoid !important;
margin: 4px 0 4px 0; /* to keep the page break from cutting too close to the text in the div */
}
これは最新バージョンのChromeでうまく機能しているようです。
page-break-inside: avoid;
ですか?