打印Windows 10 Javascript Store应用程序时出错

时间:2016-01-13 18:08:25

标签: javascript printing win-universal-app

从Windows Universal Javascript App打印较大的html页面时,我总是会收到错误。随着文档大小的增加,这种错误会更频繁发生(总是发生2页文档)。我的文档已完全加载并正确显示在打印预览窗口(您选择打印机的位置)中,包括多页文档。当我按下打印按钮时,它可能会或可能不会打印部分文档,然后应用程序崩溃并在生产或崩溃时关闭并在开发过程中出错。 iframe和html / css似乎没有问题,因为预览显示正确。我也尝试过使用带有相同结果的ms-webview。谢谢你的任何建议。

Visual Studio崩溃点: preview.js [动态]在哪一行 533 Printer.setPageCount(TotalDisplayPages());

Visual Studio错误消息: res://edgehtml.dll/preview.js中第5行第1行的未处理异常 0x80010108 - JavaScript运行时错误:调用的对象已与其客户端断开连接。

我的代码:

    var doc = "<!DOCTYPE html><html><head>" + style + "</head><body>" + html + "</body></html>";

    var IFrame = document.createElement('iframe');
    IFrame.frameBorder = 0;
    IFrame.src = "";
    IFrame.width = "200px";
    IFrame.height = "200px";

    document.body.appendChild(IFrame);
    IFrame.contentWindow.document.open();
    IFrame.contentWindow.document.write(doc);
    IFrame.contentWindow.document.close();

    var printManager = Windows.Graphics.Printing.PrintManager.getForCurrentView();
    printManager.onprinttaskrequested = function (printEvent) {
        var printTask = printEvent.request.createPrintTask("Print", function (args) {
            var deferral = args.getDeferral();
            MSApp.getHtmlPrintDocumentSourceAsync(IFrame.contentWindow.document).then(
            function (source) {
                args.setSource(source);
                deferral.complete();
            }, function (error) {
                console.log("Printing: " + error);
                deferral.complete();
            });
        });
        printTask.oncompleted = function () {
            console.log("Printing: oncompleted");
        };
    };
    Windows.Graphics.Printing.PrintManager.showPrintUIAsync();

0 个答案:

没有答案