Для того чтобы не вылизало за края нужно изображение подгонять под формат листа.
Примерно так

Код AS1/AS2:
function content_f(pageW:Number, pageH:Number, contentObj:Object){
//процентное выражение размеров области печати от размеров клипа
var clipW = pageW / contentObj._width * 100;
var clipH = pageH / contentObj._height * 100;
if ((clipW < 100 && clipH < 100) || (clipW > 100 && clipH > 100)) {
if (Math.min(clipW, clipH) == clipW) {
contentObj._xscale = contentObj._yscale = clipW;
}
else {
contentObj._xscale = contentObj._yscale = clipH;
}
}
else if (clipW >= 100 && clipH <= 100) {
contentObj._xscale = contentObj._yscale = clipH;
}
else if (clipW < 100 && clipH > 100) {
contentObj._xscale = contentObj._yscale = clipW;
}
}
И вызывать функцию

Код:
...
if (__reg1.start())
{
сontent_f(__reg1.pageWidth, __reg1.pageHeight, obj);
...
P.s. я сам не проверял..мне листов жалко.
P.P.s. зачем эти двойные подчеркивания? они только мешают..я бы ничего не понял, если хотя бы 100 строк кода было вот так написано..