Документ размером с букву усекается при печати из браузера в Mac OS X - PullRequest
0 голосов
/ 10 июля 2009

Нижняя часть страницы при печати обрезается. (Приблизительно от 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;
}

1 Ответ

0 голосов
/ 10 июля 2009

Вы пробовали это с более чем одной моделью принтера? Я видел похожие проблемы, которые были результатом глючного драйвера принтера.

...