从Mac OS X上的浏览器打印时,信件大小的文档被截断

时间:2009-07-09 20:11:19

标签: macos browser printing actionscript-2

打印时页面底部会被截断。 (约1/2至1“)。

此打印问题似乎并不特定于Flash(打印某些PDF也会产生此问题),但这就是我们发现它的地方。

在旧版本的OS X中不会出现此问题,但在最新版本(10.5.5及更高版本)中确实会出现此问题。不确定线路在哪里。 Windows上的相同应用程序运行正常。

它发生在Safari和Firefox中。

我们的Flash CS3(AS2)应用程序使用PrintJob对象将页面发送到打印机。这些页面应该是字母大小的。在Windows上,它们是字母大小并且打印正常。但在Mac上,页面被截断。当浏览器打印对话框出现时,如果您将纸张尺寸更改为A4,则文档打印正常。不支持A4。

发生了什么事?

以下是我们打印代码的一小部分:

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 :(得分:0)

您是否尝试使用多种打印机型号?我见过类似的问题,这是由于有缺陷的打印机驱动程序造成的。