2011-06-25 67 views
4

假設我將日曆創建爲HTML表格,其中不同的單元格具有不同的背景顏色和不同的文本。它在屏幕上看起來不錯。是否有一個技巧來打印HTML表格背景?

我意識到無法打印保存單元格背景色的表格。 指示我的觀衆調整瀏覽器打印日曆只是荒謬的。

當你在屏幕上看到它時,是否有任何技巧打印HTML表格? 也許有可能以某種方式將它轉換爲圖像或其他東西?


這是我想出的解決方案。
下面是使用100pt x 100pt單元創建可打印3x2電路板的說明。我儘可能簡化了片段。主要思想:每個單元格都有一個由文本覆蓋的圖像。這比使用簡單的背景色要慢得多,但允許單個代碼庫用於屏幕和打印。
您可以使用其他造型消除內部空間。

<table style="table-layout:fixed; width:300pt; height:200pt; border-collapse:collapse; line-height: 0;"> 
    <tr> 
     <td> 
     <img src="Content/images/backTab.png" style="width:100pt; height:100pt; position:relative; z-index:0" /> 
     <div style="position:relative; top:-50pt; z-index:1; color:Red; text-align:center; ">Text</div> 
     </td> 

我是網絡開發新手,我發現整個情況都很荒謬。成千上萬的開發人員爲打印背景顏色/圖像而哭泣,但沒有人關心。我看過W3C的HTML/CSS /打印標準。沒有任何關於抑制打印背景的信息。如果瀏覽器決定保存用戶的墨跡,則必須有CSS樣式來明確強制執行後臺打印。在這種情況下,展示和打印國際象棋棋盤,縱橫字謎或日曆都不會有困難。

如果有人在W3C有連接,請告訴他們。

+0

您是否介意向我們提供您正在嘗試做什麼以及想要實現的代碼示例? –

+0

嗯。是的,這對於bg顏色是不可能的。我能想到的唯一事情是:在表格下創建表格並將圖像放入單元格中。聽起來不太有希望。另一件事將是有自定義打印按鈕,這將是一個區域的屏幕截圖,然後到打印命令。 – user194076

+0

我會嘗試下表中的表格。謝謝。 – VikVik

回答

0

難道你不能使用背景顏色你想到的10x10圖像,並讓他們設置爲使用CSS在背景上重複? (固定彩色圖像非常容易壓縮,並且往往很小,不要擔心評論中指出的大小)。

+1

不要使用1x1瓷磚...去10x10左右來承擔瀏覽器渲染引擎的負擔。 (瀏覽器平鋪1x1比10x10多了很多工作。) –

+0

@DA謝謝,編輯。 –

+0

無法打印背景顏色和背景圖像,CSS也無法幫助。 – VikVik

1

您可以創建一個CSS文件,並在它應該被用於打印的HTML指定:

http://www.alistapart.com/articles/goingtoprint/

然而,設置如打印出來,你看它在屏幕上需要設置在網絡瀏覽器打印設置中進行更改。

不幸的是,沒有自定義的解決方案,沒有辦法解決這個問題。

你可以玩Prototype Javascript,並將HTML分配給canvas元素,這將在客戶端創建一個圖像。

http://prototype-graphic.xilinus.com/

希望這有助於

傑弗裏·凱文撬

+1

無法打印背景顏色和背景圖片,CSS也無法幫助。 – VikVik

0

另外,除了我的評論,你可以嘗試使用:http://iecapt.sourceforge.net/ 更新:此外,這篇文章可能會有所幫助。 http://www.codeproject.com/KB/graphics/html2image.aspx

+0

在用於捕獲屏幕截圖服務器端的所有瀏覽器中,IE將位於我的列表的底部。 –

+0

感謝您鏈接到HtmlCapture。我會嘗試你的兩個技巧(表格下的表格和圖像捕獲,儘管最後一個需要服務器端的行動,這不太好)。 – VikVik

+0

這些不是解決方案,太複雜 – VikVik