打印2页而不是1页

时间:2011-03-31 14:21:19

标签: loops printing coldfusion

我想创建一个页面,例如,静态文本和循环将显示产品列表。打印时它可以超过一页,但是第二页我不仅要显示列表中的剩余产品,还要显示静态文本。

例如:

首页内容:

静态文本+循环中的产品列表

第二页内容(如果列表足够长):

静态文本+来自同一循环的其余产品的列表

我如何实现这一目标?我知道这不是给出的信息,但至少,你能给我一个提示或概念吗?!

3 个答案:

答案 0 :(得分:2)

由于不同的打印机可能会有所不同,我要采取的第一步是使用CF的内置PDF工具创建PDF。

如果静态文本简短,您可能会使用页眉,这会自动执行此操作。在看一些更复杂的东西之前,请仔细阅读,但请注意(IIRC)您无法设置页眉样式。

接下来,我会找出适合页面的产品数量。如果产品占用可变空间,您可以选择。您可以将每个放置在一个足够大的静态大小的div中,以容纳最大的产品。您可以使div足够大以用于产品,并使用溢出CSS属性来隐藏更大的产品。您可以使用一个简单的列表,并希望它不会溢出。 : - )

在这些页面部分之间使用CSS分页符属性(例如page = break-before和page-break-after)来强制分页符合你想要的位置。请注意,这些不能阻止分页,只强制一个,所以我会使用我建议的前两种方法之一,以确保您不会溢出页面。

答案 1 :(得分:2)

这可能有些过分,但CF报表生成器(以及<cfreport>)是专门针对此类事情制作的。

您可以定义标题带以及它们是出现在每个页面,每个部分,仅出现在报告的开头/结尾等等。

答案 2 :(得分:1)

Ben的回答是你可能找到的最好的答案。使用过打印和PDF后,根据内容的不同,它可能是一个废话。有时休息会表现,有时则不会。您最好的办法是尽可能减少内容块的数量,并且PDF / CSS分页功能可以很好地处理它。