COLDFUSION: cfdocument and forcing a pagebreak
cfdocument, coldfusion, page-break, pdf
Solution
You are hiding the 9th record because you are choosing between displaying it and showing it:
if 9th record
break page
else
show record
end if
What you want is more like:
<cfoutput query = "sqllookup">
<!--- this is the 9th row, because 9 mod 9 is 0 --->
<cfif not sqllookup.currentrow mod 9>
<cfdocumentitem type="pagebreak" />
</cfif>
<tr>
<td>#Title#</td><td>#Price#</td>
<td colspan="2">#Description#</td>
</tr>
</cfoutput>
Problem
I am creating a dynamic PDF in ColdFusion and having an issue with "pagebreak". The page in question could have 1 record, or up to 60+ records. Each record is displayed in 2 rows of a table. Some of the returned records are being split between pages (first row is at the end of page one, the second row is the top row of the next). A sample record in displayed HTML: ``` <tr> <td>Title</td><td>Price</td> <td colspan="2">Description</td> </tr> ``` Per client request, I am trying to display =< 9 records per page. Here is a dumbed down sample of something I have tried: ``` <cfdocument format="PDF"> <cfoutput query = "sqllookup"> <cfset loopcount = loopcount + 1> <cfif loopcount EQ '9'> <cfdocumentitem type="pagebreak" /> <cfelse> <tr> <td>#Title#</td><td>#Price#</td> <td colspan="2">#Description#</td> </tr> </cfif> </cfoutput> </cfdocument> ``` This does not work, (it only hides the 9th record). I have tried several different ideas, and I am currently stumped. Am I over looking something? Thanks in advance. ColdFusion MX 7. (I also ran the hot fix for text cut-off issue. http://kb2.adobe.com/cps/402/kb402093.html)