參考網址:Tsung's Blog
想要將 網頁(HTML) 的內容, 直接貼到 Word 上, 然後希望可以控制 Word 分頁(做報告方便), 要使用哪個 HTML Tag 呢?
懶得看下述作法的, 可以直接使用結論, 就是下述 Tag.
-
<br style="page-break-before:always;">
找 Word 分頁用的 HTML Tag 或參數的方法
- 於 Word 檔 Ctrl + Enter (產生分頁)
- 另存 HTML
- 再去開啟 HTML, 然後分別摘除嘗試即可.
- 註: CSS 的分頁屬性有這幾個: page-break-after、page-break-before、page-break-inside, 也可以考慮嘗試看看
註: 使用 <p>、<div>… 加上這 style 都不行, 一定要 <br> 才可以.
用相同的方法可以找出控制頁面邊界的CSS
<style media="print" type="text/css"> <!-- /* Page Definitions */ @page WordSection1 {size:595.3pt 841.9pt; margin:1.0cm 1.0cm 1.0cm 1.0cm; layout-grid:18.0pt;} div.WordSection1 {page:WordSection1;} --> </style>
記得把class套用上去
<div class=WordSection1> {{ include file= $content_file }} </div>
列印模式下的頁面配置( @page ):
@page 是列印模式下對頁面配置的特殊屬性,主要可設定頁面的 size, margin , orphans 和 widow。
- size 可直接指定寬度與高度(搭配單位 mm 或 cm 皆可)、或是通用尺寸( A4、A5.. ),此外可設定頁面的呈現方向( portrait / landscape )
- margin 就是一般頁面的邊距(常用 word 的人應該不陌生 😀 )
- orphans 和 widow 這印刷術語取名滿妙.., orphans 是指頁面最後一個段落的行數、widow 則是頁面第一個段落的行數,初始值都是2,表示限制頁面頂部及底部的段落不能只顯示一行就被分頁。
@page{ size: A4 portrait; margin: 0.5cm; orphans:4; widows:2; }
元素分頁的斷點設定:
元素後要被分頁嗎? page-break-after : auto | always | avoid | left | right
元素前要被分頁嗎? page-break-before : auto | always | avoid | left | right
元素本身要被分頁嗎? page-break-inside : auto | avoid
這三個屬性超重要!!!網頁內容無法預估長度的情況下,很難完美的呈現頁面布局,盡可能做到的就是避免顯示的元素被分頁切割。
h1, h2, h3, h4, h5, h6 { page-break-after:avoid; page-break-inside:avoid } h1+p, h2+p, h3+p { page-break-before: avoid; } a { page-break-inside:avoid } img{ page-break-after: avoid; page-break-inside: avoid; } table, blockquote{ page-break-inside: avoid; } ul, ol, dl { page-break-before:avoid; } /* 如架構本身用一組一組的 DIV 包住,也可強制設定每組 DIV 會各自切成一頁 */ div.pageBlock{ page-break-before: always; }
雖然無法讓想要的內容全部塞在同一頁,但利用 page-break 至少可以限制分頁的斷點判斷~整體閱讀起來也比較舒服了!!