Нижняя часть страницы при печати обрезается. (Приблизительно от 1/2 до 1 ").
Эта проблема печати, похоже, не относится к Flash (печать некоторых PDF-файлов также приводит к этой проблеме), но именно здесь мы ее нашли.
Проблема не возникает в более старых версиях OS X, но возникает в самых последних версиях (10.5.5 и выше). Не уверен, где линия. То же приложение в Windows работает нормально.
Это происходит в Safari и Firefox.
Наше приложение Flash CS3 (AS2) использует объект PrintJob для отправки страниц на принтер. Страницы должны быть размером с букву. На Windows они размером с букву и печатают нормально. Но на Mac страницы усекаются. Когда откроется диалоговое окно «Печать» в браузере, если вы измените размер бумаги на A4, документ будет печататься нормально. НЕ ПРЕДПОЛАГАЕТСЯ БЫТЬ А4.
Что происходит?
Вот часть нашего печатного кода:
private function runPagePrintJob(pages:Array):Void {
var pj:PrintJob = new PrintJob();
if (pj.start()) {
var paperHeight:Number = this.pointsToPixels(pj.pageHeight);
var paperWidth:Number = this.pointsToPixels(pj.pageWidth);
for (var i:Number=0; i<pages.length; i++) {
var mc:PrintablePage = pages[i];
var xScale:Number = paperWidth / mc._width;
var yScale:Number = paperHeight / mc._height;
if ((xScale < 1) || (yScale < 1)) {
mc.setScale(Math.min(xScale, yScale) * 100);
}
mc.setBGSize(paperWidth, paperHeight);
var xMin:Number = 0;
var xMax:Number = paperWidth;
var yMin:Number = 0;
var yMax:Number = paperHeight;
pj.addPage(mc, {xMin:xMin, xMax:xMax, yMin:yMin, yMax:yMax}, {printAsBitmap:true});
}
pj.send();
}
delete pj;
this.close();
}
private function pointsToPixels(pts:Number):Number {
return pts/72*System.capabilities.screenDPI;
}