2010-02-07 77 views
10

什麼是打印時做分頁符的CSS代碼?或者更好的是,是否有一些像JQuery這樣的打印CSS框架對網頁DOM進行操作?我需要使用Adobe PDF等控件打印網頁,但不使用第三方插件。打印需要提供精確,像控制什麼像素擊中每個頁面的頂部,(如果我們希望把我們的商標上的每一頁頁眉的例子。什麼是打印網頁分頁符的CSS代碼?

任何想法?

回答

16

page-break-before: always;

page-break-after: always;

6

您可以嘗試使用page-break-before or page-break-after性強制分頁符。

像素完美的打印控制將是非常,非常難以實現。例如,每個眉毛呃增加了一個你不能影響的頁腳和標題部分,只有用戶可以關閉。瀏覽器忽視背景圖像,並傾向於設置他們認爲合適的邊距。

有關如何樣式打印HTML破敗,這種碎雜誌的文章可以提供一些指針:Printing the Web: Solutions and Techniques

1

的w3schools.com有一個方便的CSS Reference。由於我們大多數人不記得許多不常見的CSS屬性,希望這對你有用。

3

瀏覽器對打印的支持最多也很弱。例如,讓頁面頭像這樣的東西工作起來會非常粗糙;我不知道甚至支持「@page」CSS聲明的瀏覽器,更不用說CSS3的正在運行的內容功能。另一方面,用於Java的FlyingSaucer PDF工具包在將XHTML轉換爲PDF(尤其是免費)方面做得非常出色。我們將它與Freemarker一起使用來模板化「頁面」,但它處理圖像,運行頁眉/頁腳文本,甚至是文檔內鏈接。

1

您無法從瀏覽器獲取像素級打印精度。您唯一的選擇是PDF或類似的第三方文檔格式。但是,如果您只想確保頁面頂部的標識與下一頁的底部相對應,則可以使用頁面中斷前,頁面中斷後屬性

2

我不確定是什麼您正在使用的服務器語言,但對於Ruby on Rails,wkhtmltopdfwicked_pdf取得了巨大成功。