2

我只想打印 HTML 页面中的图像。

我用了

function printImg(){        
    var URL = "image.png";
    var W = window.open(URL);
    W.window.print();
}

但是执行代码,整个页面打印而不是图像。有什么方法可以只打印图像吗?请指导我。

谢谢。

在此处输入图像描述

4

5 回答 5

1

创建一个 print.css 来隐藏除图像之外的所有其他不需要的 div

于 2012-09-10T07:39:36.870 回答
1

如果您听说过CSS 媒体类型,那么您可以使用这种技术完成您想要的任务。

例子:

定义媒体类型打印,然后在您的 css 文件中添加一个.noprint带有 css 规则的 css 类,display:none;如下所示:

@media print {
   .noprint{ display: none }
}

然后将此类应用于您不想打印的元素。

看一个例子

希望这会对您有很大帮助。

于 2012-09-10T07:48:34.777 回答
0

采用

W.print();

代替

W.window.print();

W.window引用弹出窗口的父窗口。

除此之外,您可以考虑使用window.print加载时触发的空页面,而不是当前不等待图像准备好的方法。

== 编辑 ==

这是做不到的。您不能从 JavaScript 修改浏览器设置(即打印机设置)

于 2012-09-10T07:46:28.687 回答
0

最后我想到了将我的结果转换为 PDF 格式并使用FPDF 库打印

于 2012-09-19T10:04:46.007 回答
-1

您可以创建一个图像元素,然后将其附加到 DOM。

function printImg() {
    var img = document.createElement( "img" );
    img.src = "image.png";
    document.body.appendChild( img );
}
于 2012-09-10T07:39:41.033 回答