2010-10-25 148 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作为单位。这将是乏味的,是的,但我相信它可以完成。特别是因为它只需要为一个特定的表单布局工作,您可以尝试一下。