Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net中打印具有特定大小的多个图像?_C#_Asp.net_Printing - Fatal编程技术网

C# 如何在asp.net中打印具有特定大小的多个图像?

C# 如何在asp.net中打印具有特定大小的多个图像?,c#,asp.net,printing,C#,Asp.net,Printing,我有agridview显示问题,每行显示问题和名为“打印”的模板字段 当我按print时,我想循环到数据库中,获取所有属于此问题的文档(如图像),并以固定大小(打印纸张大小)打印 我使用这个代码 PrintDocument pd = new PrintDocument(); if (Images.Count >0) { foreach (string file in Images)

我有agridview显示问题,每行显示问题和名为“打印”的模板字段 当我按print时,我想循环到数据库中,获取所有属于此问题的文档(如图像),并以固定大小(打印纸张大小)打印

我使用这个代码

      PrintDocument pd = new PrintDocument();
             if (Images.Count >0)
             {
                 foreach (string file in Images)
                 {
                     try
                     {
                         filename = file;
                         if (!File.Exists(filename))
                         {
                             throw new FileNotFoundException();
                         }

                         pd.PrintPage += Doc_PrintPage;

                         pd.Print();
                     }
                     catch (Exception exce)
                     { MessageBox.Show(exce.Message.ToString()); }

                 }

             }


   private void Doc_PrintPage(object sender, PrintPageEventArgs e)
    {
       System.Drawing.Image i = System.Drawing.Image.FromFile(filename);

    e.Graphics.DrawImage(i, 0, 0);
    }
但打印对话框未出现,打印的文档不适合打印纸张
如何实现此功能

您必须使用javascript(或类似的东西,例如jQuery)在浏览器上打印图像。您不能通过ASP.NET直接与用户计算机交互

ASP.NET是一种服务器端语言

实际上,唯一能够同时支持服务器端和客户端的语言是Java,因为您可以使用Java应用程序与用户计算机进行交互,但是我不建议这样做

您无法从Web服务器直接与用户计算机交互是有原因的,这仅仅是出于安全原因。如果有可能的话,那么任何人都可以设置一个Web服务器,基本上只需把任何访问的人都搞定

我想看看这个:

这是客户机/服务器差异的问题。如果您运行服务器代码,它将在服务器上运行,因此在服务器上打印,而不是在客户端打印…不,我希望它作为客户端,因此显然您不应该使用服务器代码来执行此操作。。。使用print CSS和javascript的print()函数,您可能会达到您想要的效果,但是您必须研究并返回一个特定的问题亲爱的用户1637402,用户Bartdude说的是100%正确的。您缺少一些基本的web应用程序原则,请允许我澄清。您提供的代码在web服务器上执行,而不是在运行浏览器的最终用户计算机上执行,因此,您必须从数据库中获取日期,并将其转换为客户端浏览器计算机下载并向用户显示的内容>确定,谢谢4解释,但我真的想运行服务器代码来获取所有图像吗?好的,但我如何将图像从数据库传递到javascript?请告诉我需要帮助。有人可以帮助我吗?有人知道如何获取吗数据库中的所有图像,并将其传递给javascript,然后通过其链接打印所有图像?