从Javascript打印图像

从Javascript打印图像,javascript,html,printing,Javascript,Html,Printing,我有一些图片。。。。每个图像的大小不同 例如: img1 = 200 x 1900 img2 = 1800 x 400 img3 = 600 x 800 //HTML <html> <body> <img src='img1.jpg'> <img src='img2.jpg'> <img src='img3.jpg'> </body> </html> //javascrip

我有一些图片。。。。每个图像的大小不同 例如:

img1 = 200 x 1900
img2 = 1800 x 400
img3 = 600 x 800
//HTML

<html>
<body>
    <img src='img1.jpg'>    
    <img src='img2.jpg'>
    <img src='img3.jpg'>
</body>
</html>

//javascript

            var mywindow = window.open('', 'my div');
            mywindow.document.write('<html><head><title>my div</title>');
            mywindow.document.write('</head><body >');
            data = "<img src='img1.jpg'><img src='img2.jpg'><img src='img3.jpg'>";
            mywindow.document.write(data);  // data = all image
            mywindow.document.write('</body></html>');
            mywindow.print();
            mywindow.close();
var mywindow=window.open(''my div');
mywindow.document.write('mydiv');
mywindow.document.write(“”);
数据=”;
mywindow.document.write(数据);//数据=所有图像
mywindow.document.write(“”);
mywindow.print();
mywindow.close();
现在输出的所有图像都已打印,但大小已损坏
如何打印A4页中的每个图像并将其打印到(A4)页中

您可以定义CSS打印规则,并将尺寸设置为21cm x 29.7cm

例如:

<style type="text/css">
@media print {
   img {
      max-width: 18cm;
      max-height: 8cm;
   }
}
</style>

@媒体印刷品{
img{
最大宽度:18cm;
最大高度:8厘米;
}
}

请注意,如果您的页面足够简单,您不必在新窗口中构建新布局,因为您可以简单地为
@media print
@media screen
定义不同的规则,但您不能。网站是为屏幕而不是打印机创建的

但是,您可以强制web浏览器以与A4相同的像素尺寸显示页面。然而,在渲染时可能会有一些怪癖

<!DOCTYPE html>
<html>
  <head>
    <style>
    body {
        height: 842px;
        width: 595px;
        /* to centre page on screen*/
        margin-left: auto;
        margin-right: auto;
    }
    </style>
  <head>
  <body>
  </body>
</html>

身体{
高度:842px;
宽度:595px;
/*在屏幕上居中显示页面*/
左边距:自动;
右边距:自动;
}

打印的最佳解决方案是使用PDF,这就是它们的用途。创建具有相同数据的PDF。在这种情况下,您可以完全控制打印格式。

什么是
数据
字符串?如何打印页面中的每个图像?如何打印页面中的每个图像?但对于不同的打印机(不同的dpi),此尺寸将不同。。。对吗?这个当前的高度/重量是72dpi,我认为这是大多数打印机的标准,并且它还可以缩放以适合A4纸张