A recently-reported issue saw a variation in the number of pages printed with the same document as a target of printHTML().

The customer suggested that the differences may be caused by variations in the deployed version of ScriptX, but when we ran Preview on the single-page target document in IE it became clear that its size was such that – depending upon the unprintable margin areas returned by the printer is use – it would sometimes print on 1 page and sometimes on 2.

The document could not be edited to be made smaller, and the customer needed to guarantee a predictable single-page print. The answer was the pragmatic use of the SetPrintScale function:

factory.printing.SetPrintScale(98)
factory.printing.PrintHTML(“target.html”)

In other words, we use ScriptX to subtly scale the size of the print job so that it all fits on one sheet.