打印到纸质表格

时间:2010-10-25 17:28:33

标签: css printing

我正在考虑使用打印样式表填写预印纸。所以,假设你有一张看起来像这样的纸:

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: __________

我们之所以考虑这样做,是因为我们已经有大量的彩色纸张形式,我们只想在可能的情况下预先填充。我们可能没有所有信息(在上面的示例中,我们没有关于他们最喜欢的冰淇淋的信息)。因此,我们希望我们提供表单的人员验证我们所拥有的信息并添加任何缺失的信息。

有没有人使用打印样式表完成此操作?我只是在惹麻烦吗?我是否真的只需要在浏览器中复制整个表单(问题+答案)并将其全部打印在空白页上?谢谢!

4 个答案:

答案 0 :(得分: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设置为现有表单中行所在的位置。

当我自己尝试这样做时,我只需设置一个嵌套无序列表网格,以标记出一个5毫米乘5毫米的网格,以帮助在打印页面上进行初始对齐,然后用尺子测量尺寸是什么尺寸用于每个元素。哦,你需要将页面(或div包装器)设置为相对位置。

编辑 - 你可能还想设置div来设置任何溢出都被隐藏,这样你就不会有任何长行环绕到另一个字段。

答案 1 :(得分:0)

大卫,

你想做的事情肯定比从头开始打印表格更乏味,但显然你不想浪费已有的印刷资源是可以理解的。

960网格系统(http://960.gs)在布局网站时非常受欢迎,虽然你使用它不一定正是它的意思,但我认为这会有所帮助。您可以从here下载所有960网格系统资源。

下载资源后,您将需要找到草图工作表文档的PDF版本。您可以将其覆盖在您的打印表单上(透明度有助于此处),并确定如何布置您的网页以匹配您想要的定位。

然后,您可以使用resources文件夹中的960网格系统演示代码来启动布局。

希望有所帮助

答案 2 :(得分:0)

猜猜你要求太多麻烦,但你使用可用资源是对的。

在这种情况下,向上或向下几个像素/点可能会使您的打印变得混乱...使用CSS可能非常困难(它具有像素精度,但它不是面向页面的,不是'有页边距控制等)。如果我必须这样做(是的,这将是乏味的),我会使用一些像素精度报告生成器(如Jasper)并仔细对齐字段。

答案 3 :(得分:0)

我不明白为什么这不能通过一些反复试验来实现。正如@Richard所说,你可以使用cm作为单位。这将是乏味的,是的,但我确信它可以完成。特别是因为它只需要为一个特定的表单布局工作,你可以尝试使用它。