如何使用javascript打印图像

时间:2011-12-09 09:53:08

标签: javascript asp.net image printing

我正在尝试使用示例here打印ASP.NET Image

当我将上述示例用于div时,它可以正常工作,但我无法使其适应其他任何内容。如何打印Image?我是否将Image包装在div中并将脚本中的“.text()”部分更改为其他内容?

5 个答案:

答案 0 :(得分:7)

因为您将错误的参数传递给打印功能。使用JavaScript打印内容就像调用window.print();方法一样简单。要测试它,只需使用浏览器的开发人员工具并写入其控制台:

window.print();

现在,当您想要打印特定内容时,您有两种方式:

  1. 创建一个特殊的样式表,以便在同一页面中打印,该页面隐藏了其他元素并仅显示您指定的区域。
  2. 或者,打开一个新窗口,复制您想要的内容,然后打印出来。
  3. 现在,您可以做的是编写自己的函数:

    function printImage(image)
    {
            var printWindow = window.open('', 'Print Window','height=400,width=600');
            printWindow.document.write('<html><head><title>Print Window</title>');
            printWindow.document.write('</head><body ><img src=\'');
            printWindow.document.write(image.src);
            printWindow.document.write('\' /></body></html>');
            printWindow.document.close();
            printWindow.print();
    }
    
    var image = document.getElementById('image');
    printImage(image);
    

    您还可以在行动here中看到此功能。

    只需让浏览器打开弹出窗口,并注意我只将image元素的src值传递给新窗口。

答案 1 :(得分:2)

以下java脚本将帮助您在图像控件中打印图像。

var printContent = document.getElementById('divImage');
var img = document.getElementById('imgMain');

var windowUrl = 'MyPage.aspx';
var uniqueName = new Date();
var windowName = "MyPage" + uniqueName.getTime();

printWindow = window.open(windowUrl, windowName, 'location=1,status=1,scrollbars=1,width=800,height=600');

printWindow.document.write("<div style='width:100%;'>");
printWindow.document.write("<img id='img' src='" + img.src + "'/>");
printWindow.document.write("</div>");

printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
return false;

答案 2 :(得分:0)

是的,而不是使用.text(),您可以使用.html()<img />(包括当然来源)传递给准备打印的假文档。

答案 3 :(得分:0)

为什么不这么简单呢?

<input type="button" value="Print Div" onclick="PrintElem('<img src=myimage.jpg>')" /> 

然后像这样调用Popup: 弹出(ELEM);

(如果您将图像传递给此类打印,则不需要此Popup()函数)

答案 4 :(得分:0)

这是更好的解决方案,也可以在谷歌浏览器中正常工作:

   var printWindow = window.open('', 'Print Window', 'height=533,width=800');
        printWindow.document.write('<html><head><title>Print Window</title>');

        printWindow.document.write("<script src='script/jquery-1.11.3.min.js' type='text/javascript'><\/script>");


        printWindow.document.write("<script type='text/javascript'>");

        printWindow.document.write("var DoPrint = false;");
        printWindow.document.write("$(document).ready(function () {");

        printWindow.document.write("DoPrint = true;");

        printWindow.document.write("});");

        printWindow.document.write("<\/script>");


        printWindow.document.write('</head><body ><img src=\'');
        printWindow.document.write(document.getElementById('image').src);
        printWindow.document.write('\' /></body></html>');
        printWindow.document.close();


        function Print() {

            if (typeof printWindow.DoPrint != "undefined" && printWindow.DoPrint == true) {

                clearInterval(PrintintervalNumber);

                printWindow.print();
                printWindow.close();

            }

        }


        PrintintervalNumber = setInterval(Print, 1000);