This looks like buggy behavior. If you take everything out of the container div then you get a multi-page PDF that is definitely not correct. This is possibly a bug around white space and paging, though I can't be sure without further testing.
You can achieve the correct appearance by positioning your outer DIV absolutely, ignoring width and height, and specifying the edge positions. The following appears to work:
<div style="border: 0.042in solid transparent; text-align: center; position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; background: none repeat scroll 0% 0% #ffffff;" class="canvasbox">