質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

Q&A

解決済

1回答

4785閲覧

Webkitエンジンでスタイル崩れ(印刷、PDF変換時)→ page-break-inside: avoidが効かない

super

総合スコア33

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

CSSフレームワーク

CSSフレームワークは、Webページのスタイルを指定する言語であるCSSを容易に構築するためのツールです。ツイッター社が開発した「Bootstrap」や段組レイアウトが可能な「Foundation」など様々なCSSフレームワークがあります。

0グッド

0クリップ

投稿2015/10/15 03:57

編集2015/10/15 05:47

こんにちは。

テーブル(html)をwebkitで印刷・pdf変換(webkitエンジンのwkhtmltopdfを使用)するところ、

2ページからヘッダーのカラム名と内容が重なる問題があります。

・正常の場合
イメージ説明

・カラム名と内容の文字が重なる
イメージ説明

次はhtmlコードです。

html

1<!DOCTYPE html> 2<html> 3<head> 4 <style type="text/css"> 5 table { border-collapse: collapse; } 6 thead { display: table-header-group; } 7 tr { page-break-inside: avoid; } 8 td { border: 1px solid black; vertical-align: top; } 9 </style> 10</head> 11<body> 12 <table> 13 <thead> 14 <tr> 15 <td>カラム 1</td> 16 <td>カラム 2</td> 17 </tr> 18 </thead> 19 <tr> 20 <td>1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ</td> 21 <td>1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ 1234567890 ABCDEF GHIJKL MNOPQ RSTUV WXYZ</td> 22 </tr> 23 </table> 24</body> 25</html>

githubの開発ページでは
tr { page-break-inside: avoid; } を追加することで
該当の現象が直ると言っています。
ですが、tr { page-break-inside: avoid; }が効かないです。

githubのフォーラムページ
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1524

何が問題でしょうか。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

tr { page-break-inside: avoid; }が効かない原因が分かりました。

html

1<tr> 2 <td>長い文字列長い文字列長い文字列長い文字列長い文字列…</td> 3</tr>

tr { page-break-inside: avoid; }は
td単位で効くらしく、これを解決するには構造を変えて
コントローラー側で文字数をチェックしtdを分ける必要がありそうです。

詳しい対応方法はまだやってませんので、実装したら更新いたします。

投稿2015/10/16 08:52

super

総合スコア33

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問