我需要立即将文件夹中的所有图像发送到打印机。这可以从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);
}
}
答案 0 :(得分:0)
您可以使用PrintDocument。
只需从文件夹中获取所有图片,将其加载到Bitmap
,然后通过For循环使用PrintDocument
逐个打印。
BTW,使用PrintPage事件,使用PrintPageEventArgs,您可以使用图形在文档中绘制图像以进行打印。
干杯
编辑:检查此示例 - > Example