将div打印在两列中

时间:2010-11-24 11:33:59

标签: javascript jquery html css

我有一个php应用程序,可以为网页生成数据。然后用户打印文档。

数据分为几个部分,每个部分都是一个div。 div的宽度是固定的,但高度可以变化。我希望打印输出在两列中,如下所示:

Page 1
---------------------
|  DIV 1  |  DIV 4  |
|---------|---------|
|  DIV 2  |  DIV 5  |
|         |---------|
|---------|  DIV 6  |
|  DIV 3  |         |
|         |         |
---------------------

Page 2
---------------------
|  DIV 7  |  DIV 10 |
|---------|---------|
|  DIV 8  |  DIV 11 |
|         |---------|
|---------|  DIV 12 |
|  DIV 9  |         |
|         |         |
---------------------

...and so on

这可以不用硬编码结构吗?也许是一些javascript / jquery解决方案?

4 个答案:

答案 0 :(得分:4)

您无法保证HTML / CSS能够在所有情况下正确打印,并且您绝对不希望沿着javascript的路线走下去以确保正确打印(已完成打印)这一点)。

您最好的选择是使用iTextSharp等库来动态创建PDF。

答案 1 :(得分:2)

有一个名为Columnizer的jquery插件,我以前用过这个插件非常好,我觉得你想做什么。

答案 2 :(得分:1)

如果您能够在纯CSS中布局此页面,那将是您的解决方案:

http://www.webcredible.co.uk/user-friendly-resources/css/print-stylesheet.shtml

浏览器将在打印页面时使用为打印定义的样式表。

答案 3 :(得分:0)

我发现使用css {column-count: 2;}一次可以在打印标签中放置