views:

213

answers:

2

when using cfdocument some of our pages have the top line cut off making it unreadable. I know there was a bug in 7, that was said to be fixed in 8. We're using 8,0,1,195765 and continue to have the problem. All my searches lead me to CF7. Anyone have any ideas?

Here is a reproduction of the problem http://paradigmshiftls.com/pdftest.cfm

<cfdocument format="pdf">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml"&gt;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<cfset lipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu turpis at nulla porttitor ultrices. Quisque laoreet eros sed erat ullamcorper vitae aliquam nulla rutrum. Nullam euismod aliquam tincidunt. Vestibulum magna augue, ultrices et hendrerit ultrices, aliquet sit amet ante. Phasellus egestas mattis ligula, eget ultrices erat luctus eget. Pellentesque magna purus, vestibulum euismod laoreet eu, gravida blandit nulla. In mattis, dolor eu ultricies dictum, felis turpis tincidunt metus, a pulvinar neque ligula quis lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nunc ac purus vitae nisi mattis ultrices vitae et justo. Mauris mauris purus, consectetur quis porta sit amet, hendrerit at nullauis pellentesque, leo non scelerisque pellentesque, odio orci porta lorem, ut dictum magna nibh nec tellus. Fusce placerat urna at massa mollis aliquam. Nulla dictum tempor sodales. Donec commodo tincidunt risus, non tristique ipsum auctor eget. Vivamus eleifend elementum urna vitae fringilla. Nulla adipiscing euismod nibh ac euismod. Suspendisse eu risus eu felis elementum pharetra. Proin et lorem vel libero lobortis molestie quis nec risus. Proin elementum gravida nulla, at cursus diam semper eget. Praesent auctor porta tristique. Etiam nec fermentum arcu. Curabitur a tellus quis leo eleifend scelerisque. Phasellus ut sem mauris. Vestibulum ultrices libero at diam consectetur sit amet commodo tellus consectetur. Nam ullamcorper condimentum nisi, vel sollicitudin lectus venenatis elementum. Etiam felis odio, pharetra sed vestibulum at, scelerisque nec leo. Quisque tempor sapien non lectus cursus vel imperdiet lectus ultrices.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu turpis at nulla porttitor ultrices. Quisque laoreet eros sed erat ullamcorper vitae aliquam nulla rutrum. Nullam euismod aliquam tincidunt. Vestibulum magna augue, ultrices et hendrerit ultrices, aliquet sit amet ante. Phasellus egestas mattis ligula, eget ultrices erat luctus eget. Pellentesque magna purus, vestibulum euismod laoreet eu, gravida blandit nulla. In mattis, dolor eu ultricies dictum, felis turpis tincidunt metus, a pulvinar neque ligula quis lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nunc ac purus vitae nisi mattis ultrices vitae et justo. Mauris mauris purus, consectetur quis porta sit amet, hendrerit at nullauis pellentesque, leo non scelerisque pellentesque, odio orci porta lorem, ut dictum magna nibh nec tellus. Fusce placerat urna at massa mollis aliquam. Nulla dictum tempor sodales. Donec commodo tincidunt risus, non tristique ipsum auctor eget. Vivamus eleifend elementum urna vitae fringilla. Nulla adipiscing euismod nibh ac euismod. Suspendisse eu risus eu felis elementum pharetra. Proin et lorem vel libero lobortis molestie quis nec risus. Proin elementum gravida nulla, at cursus diam semper eget. Praesent auctor porta tristique. Etiam nec fermentum arcu. Curabitur a tellus quis leo eleifend scelerisque. Phasellus ut sem mauris. Vestibulum ultrices libero at diam consectetur sit amet commodo tellus consectetur. Nam ullamcorper condimentum nisi, vel sollicitudin lectus venenatis elementum. Etiam felis odio, pharetra sed vestibulum at, scelerisque nec leo. Quisque tempor sapien non lectus cursus vel imperdiet lectus ultrices.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu turpis at nulla porttitor ultrices. Quisque laoreet eros sed erat ullamcorper vitae aliquam nulla rutrum. Nullam euismod aliquam tincidunt. Vestibulum magna augue, ultrices et hendrerit ultrices, aliquet sit amet ante. Phasellus egestas mattis ligula, eget ultrices erat luctus eget. Pellentesque magna purus, vestibulum euismod laoreet eu, gravida blandit nulla. In mattis, dolor eu ultricies dictum, felis turpis tincidunt metus, a pulvinar neque ligula quis lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nunc ac purus vitae nisi mattis ultrices vitae et justo. Mauris mauris purus, consectetur quis porta sit amet, hendrerit at nullauis pellentesque, leo non scelerisque pellentesque, odio orci porta lorem, ut dictum magna nibh nec tellus. Fusce placerat urna at massa mollis aliquam. Nulla dictum tempor sodales. Donec commodo tincidunt risus, non tristique ipsum auctor eget. Vivamus eleifend elementum urna vitae fringilla. Nulla adipiscing euismod nibh ac euismod. Suspendisse eu risus eu felis elementum pharetra. Proin et lorem vel libero lobortis molestie quis nec risus. Proin elementum gravida nulla, at cursus diam semper eget. Praesent auctor porta tristique. Etiam nec fermentum arcu. Curabitur a tellus quis leo eleifend scelerisque. Phasellus ut sem mauris. Vestibulum ultrices libero at diam consectetur sit amet commodo tellus consectetur. Nam ullamcorper condimentum nisi, vel sollicitudin lectus venenatis elementum. Etiam felis odio, pharetra sed vestibulum at, scelerisque nec leo. Quisque tempor sapien non lectus cursus vel imperdiet lectus ultrices.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu turpis at nulla porttitor ultrices. Quisque laoreet eros sed erat ullamcorper vitae aliquam nulla rutrum. Nullam euismod aliquam tincidunt. Vestibulum magna augue, ultrices et hendrerit ultrices, aliquet sit amet ante. Phasellus egestas mattis ligula, eget ultrices erat luctus eget. Pellentesque magna purus, vestibulum euismod laoreet eu, gravida blandit nulla. In mattis, dolor eu ultricies dictum, felis turpis tincidunt metus, a pulvinar neque ligula quis lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Nunc ac purus vitae nisi mattis ultrices vitae et justo. Mauris mauris purus, consectetur quis porta sit amet, hendrerit at nullauis pellentesque, leo non scelerisque pellentesque, odio orci porta lorem, ut dictum magna nibh nec tellus. Fusce placerat urna at massa mollis aliquam. Nulla dictum tempor sodales. Donec commodo tincidunt risus, non tristique ipsum auctor eget. Vivamus eleifend elementum urna vitae fringilla. Nulla adipiscing euismod nibh ac euismod. Suspendisse eu risus eu felis elementum pharetra. Proin et lorem vel libero lobortis molestie quis nec risus. Proin elementum gravida nulla, at cursus diam semper eget. Praesent auctor porta tristique. Etiam nec fermentum arcu. Curabitur a tellus quis leo eleifend scelerisque. Phasellus ut sem mauris. Vestibulum ultrices libero at diam consectetur sit amet commodo tellus consectetur. Nam ullamcorper condimentum nisi, vel sollicitudin lectus venenatis elementum. Etiam felis odio, pharetra sed vestibulum at, scelerisque nec leo. Quisque tempor sapien non lectus cursus vel imperdiet lectus ultrices. ">
<cfloop from = "1" to = "10" index="i">
<cfoutput>
<table width="99%" border="0" cellspacing="2" cellpadding="2">
    <tr>
        <td>#dateFormat(now(), "mm/dd/yyyy")#</td>
        <td>#lipsum#</td>
        <td valign="top">FirstName LastName</td>
    </tr>
</table>
</cfoutput>
</cfloop>
</body>
</html>
</cfdocument>
A: 

I've not seen this, but I'd attempt the following:

Futz with the top margin.

Attempt to add whitepsace to the top of the page pre-pdf-ing.

If there are graphics at the top, make sure they are using absolute (not relative) paths.

I'm not sure if any of that will be helpful, but it's my best ideas off the top of my head.

Ben Doom
Thanks Ben. I've tried futzing with the margin and the problem moves from one page to another. I have no images. I have no header or footer. The cut only occurs when the data overflows from one page to the next, usually mid table cell. Manual page breaks on new records work fine with no chopping of text. To make it worse it doesn't happen on every page where the data over flows.
Travis
+2  A: 

Wrapping text in a table within a div tag solves this problem.

<table width="99%" border="0" cellspacing="2" cellpadding="2">
    <tr>
        <td><div>#dateFormat(now(), "mm/dd/yyyy")#</div></td>
        <td><div>#lipsum#</div></td>
        <td valign="top"><div>FirstName LastName</div></td>
    </tr>
</table>

I had one instance where this did not work in my actual data. It turns out it was a nested table. I un-nested them and the problem went away.

I hope this helps someone else.

Travis
Oh my goodness, thanks for this little tip. I was prepared for days of hair-pulling and teeth-gnashing, but this saved me.
Al Everett