如何将文件夹的所有图像发送到打印机

时间:2014-03-20 18:07:42

标签: c# printing

我需要立即将文件夹中的所有图像发送到打印机。这可以从Windows资源管理器中选择所有图像文件,右键单击并选择打印以将所有选定图像发送到打印对话框,从中我们可以选择打印机设置并继续打印。我如何在c#windows表单应用程序中执行此操作?

编辑:我想出了这个,但它只打印了最后一页。我该如何修改?

private void printAllCardSheetBtn_Click(object sender,EventArgs e)         {

        PrintDocument pdoc = new PrintDocument();
        pdoc.DocumentName = "cardsheets";
        PrintDialog pd = new PrintDialog();
        if(pd.ShowDialog() == DialogResult.OK)
        {

            PrinterSettings ps = pd.PrinterSettings;
            pdoc.PrinterSettings = ps;


            pdoc.PrintPage += pdoc_PrintPage;
            pdoc.Print();
        }



    }

    void pdoc_PrintPage(object sender, PrintPageEventArgs e)
    {
         Graphics g = e.Graphics;
         string[] sheetpaths = Directory.GetFiles(_sheetDirectory);
         Point point = new Point(0, 0);
         foreach (string s in sheetpaths)
         {
             g.DrawImage(new Bitmap(s), point);

         }



    }

1 个答案:

答案 0 :(得分:0)

您可以使用PrintDocument

只需从文件夹中获取所有图片,将其加载到Bitmap,然后通过For循环使用PrintDocument逐个打印。

BTW,使用PrintPage事件,使用PrintPageEventArgs,您可以使用图形在文档中绘制图像以进行打印。

干杯

编辑:检查此示例 - > Example