2010-10-25 184 views
2

我正在考慮使用打印樣式表來填寫預印紙張表格。因此,可以說你有一張紙,上面是這樣的:打印到紙張表格

Name: ________________________ 
Address: _____________________ 
City: ________________________ 
State: _______________________ 
Zip: _________________________ 
Favorite ice cream: __________ 

我希望我的網頁(帶打印樣式表)看起來像這樣:

 John Smith 
      1 Main St 
      Springfield 
      MA 
      01002 

當用戶打印頁面中的信息將填寫紙質表格,就像這樣:

Name: ___John Smith___________ 
Address: ___1 Main St_________ 
City: ___Springfield__________ 
State: ____MA_________________ 
Zip: ______01002______________ 
Favorite ice cream: __________ 

爲什麼我們想這樣做的原因是,我們已經擁有了大量庫存的彩色紙的形式,我們只是希望在預填可能。我們可能沒有所有的信息(在上面的例子中,我們沒有關於他們最喜歡的冰淇淋的信息)。因此,我們希望我們提供表單的人員驗證我們的信息並添加缺少的任何信息。

有沒有人使用打印樣式表完成此操作?我只是在問問題嗎?我真的應該只是在瀏覽器中複製整個表單(問題+答案)並將其全部打印在一張空白紙上?謝謝!

+0

你爲什麼不嘗試呢? – 2010-10-25 17:38:11

回答

3

如果您對使用DIV的絕對定位感到滿意,您可以使用CSS對打印樣式表中釐米數中指定的頂部,左側,右側,底部,寬度和高度的支持。

即:

div.name { position:absolute; top:1cm; left:3cm; width:4cm; height:0.7cm; } 
div.address1 { position:absolute; top:1.9cm; left:3cm; width:4cm; height:0.7cm; } 

你只需要衡量你的表格,然後設置所有的DIV是位置的線在你的表單。

當我試圖自己做這件事時,我只是設置了一個嵌套無序列表的網格來標記出一個5mm×5mm的網格,以幫助獲得打印頁面上的初始對齊,然後用尺子測量出什麼用於每個元素的尺寸。哦,你需要設置頁面(或div包裝)相對位置。

編輯 - 您可能還想設置div的設置來隱藏所有溢出,所以你不會有任何長線環繞到另一個領域。

+0

這很好,謝謝! – David 2010-11-06 20:07:46

0

大衛,

你想要做的絕對不僅僅是打印出從無到有的形式比較繁瑣,但很明顯,這是可以理解的,你不想浪費你已經有打印的資源。

960網格系統(http://960.gs)在佈置網站時非常流行,儘管您對它的使用並不一定就是它的意思,但我認爲它會有所幫助。您可以從here下載所有960網格系統資源。

一旦您下載了資源,您將需要查找草圖工作表文檔的PDF版本。你可以覆蓋你的印刷表格(這裏的透明度有幫助),並確定如何佈局你的網頁,以符合你想要的定位。

接下來,您可以使用資源文件夾中的960網格系統演示代碼來啓動您的佈局。

希望幫助有些

0

猜你所要求的太麻煩了,但你是正確的利用現有資源。

像這樣的情況下,向上或向下幾個像素/點可能會使您的打印變成一團糟......使用CSS可能相當困難(它具有像素精度,但它不是面向頁面的,不要沒有頁面邊距控制等)。如果我不得不這樣做(是的,這將是乏味),我會使用一些像素精度報告生成器(如Jasper)並仔細對齊字段。

0

我不明白爲什麼這是不可行的一些試驗和錯誤。正如@Richard所說,你可以使用cm作爲單位。這將是乏味的,是的,但我相信它可以完成。特別是因爲它只需要爲一個特定的表單佈局工作,您可以嘗試一下。