私は Delphi 7 で TWebBrowser を使用しており、CSS を使用するローカル HTML ファイルを持っています。CSS では、すべての新しい段落の最初の行がインデントされています。問題は、このページを印刷すると (複数ページの紙が必要)、新しい段落のインデントがすべての印刷ページの上部に適用されることです...後続の各ページの上部は新しいページの先頭ではありませんが、段落。
私が使用しているコードは次のとおりです。
var
vIn, vOut: OleVariant;
begin
WB.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, vIn, vOut) ;
関連する CSS コードは次のとおりです。
p {
font-family: Calibri;
font-size: 20pt;
line-height: 1.75em;
margin-bottom: 1.00em;
margin-top: 1.00em;
margin-left:1.0em;
margin-right:1.0em;
text-indent:1.5em;
}
以下に結果を示します。
新しい段落の始まりではないことを考えると、ページの上部にあるテキストはインデントするのではなく、左揃えにするべきではありませんか? 同じ HTML/CSS を Internet Explorer 8 で開いて印刷すれば問題ありません。IE8 または Firefox を使用すると、新しい各ページの上部にインデントが発生しません。
CSS を含むサンプル HTML ファイルは、http: //hostsafe.com/temp/bug.zipにあります。