javascript - 如何通过代码调整打印选项?

标签 javascript php joomla

我在 Joomla 中有一个订票系统。

当用户点击门票链接时,网站上会显示一张门票。

我正在使用 barcode.php 文件生成票号的条形码图像。

现在有 2 个场景我用来打印票。

  1. 当我使用 window.print()Ctrl+P 打印该票时,打印了 2 页 尽管我的工单内容只有一页。

  2. 当我使用以下 javascript 代码打印页面的特定部分时,未生成条形码图像。

    function print_specific_div_content(){
        var content = "<html>";
        content += document.getElementById("divToPrint").innerHTML ;
        content += "</body>";
        content += "</html>";
    
        var printWin = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');
        printWin.document.write(content);
        printWin.document.close();
        printWin.focus();
        printWin.print();
        printWin.close();
    }
    

我的要求是:

门票只能打印在单页上

如有任何帮助或建议,我们将不胜感激。

谢谢。

编辑 1:

我修改了我的功能如下,但不幸的是它显示了新窗口但没有打印对话框。 :(

function print_specific_div_content(){
    var win = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');
    var handler = function() {
      win.print();
      win.close();
    };
    if(win.addEventListener)
        win.addEventListener('load', handler, false);
    else if(win.attachEvent)
        win.attachEvent('onload', handler, false);

    var content = "<html>";
    content += document.getElementById("divToPrint").innerHTML ;
    content += "</body>";
    content += "</html>";
    win.document.write(content);
    win.document.close();
}

最佳答案

当只打印内容时,您需要等待文档加载后再打印,以便加载图像:

function print_specific_div_content(){
    var win = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');

    var content = "<html>";
    content += "<body onload=\"window.print(); window.close();\">";
    content += document.getElementById("divToPrint").innerHTML ;
    content += "</body>";
    content += "</html>";
    win.document.write(content);
    win.document.close();
}

关于javascript - 如何通过代码调整打印选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19028419/

相关文章:

javascript - 我可以使用Facebook Graph API访问用户的 friend 状态吗?

javascript - jquery平滑滚动在歌剧中出错

php - 我保护 MySQL 数据库密码的方法安全吗?

php - Doctrine :在使用两种自定义映射类型后,总是告诉我数据库不同步

Joomla 主菜单 html 输出

javascript - React Prop - 如果另一个 Prop 为空/空,则在 Prop 上设置 isRequired

php - 无法在 OS X 10.9 Mavericks 中 phpize 或配置扩展

html - 使页脚拉伸(stretch)到页面底部而不使用 body 标签

css - Joomla css 文件自行重写

javascript - Chai 库中 .to 的用途是什么?