在网上找到一段代码,可以实现调用windows图片查看器打开指定图片
System.Diagnostics.Process.Start("rundll32.exe", string.Format("{0} {1}", "shimgvw.dll,ImageView_Fullscreen", @"f:\demo.bmp"));
查了些资料好像shimgvw.dll,ImageView_Fullscreen改成shimgvw.dll,ImageView_PrintTo /pt 就是打印。但具体不知道怎么写参数,求教大神帮忙。或者其他办法也行,达到目的即可
4 个解决方案
#1
第1步, 你可以将文件读取到 PictureBox
第2步:
拖一个printDocument控件到界面。
打印按钮的代码:
C# CODE:
private void button1_Click(object sender, EventArgs e)//执行打印
{
PrintDialog MyPrintDg = new PrintDialog();
MyPrintDg.Document = printDocument1;
if (MyPrintDg.ShowDialog() == DialogResult.OK) { try
{
printDocument1.Print();
}
catch
{ //停止打印
printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());
}
}
}
第3步:
设置printDocument控件的PrintPage事件:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image, 20, 20);
}
第2步:
拖一个printDocument控件到界面。
打印按钮的代码:
C# CODE:
private void button1_Click(object sender, EventArgs e)//执行打印
{
PrintDialog MyPrintDg = new PrintDialog();
MyPrintDg.Document = printDocument1;
if (MyPrintDg.ShowDialog() == DialogResult.OK) { try
{
printDocument1.Print();
}
catch
{ //停止打印
printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());
}
}
}
第3步:
设置printDocument控件的PrintPage事件:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image, 20, 20);
}
#2
注意问题是如何调用系统照片打印向导,不是用printDocument打印
#4
这个问题可能比较难实现,上面说的对我都没什么帮助。那么换个问题来问,如何获取PrintDialog用户设置的自定义尺寸大小?
PaperSize ps =new PaperSize("Your Paper Name", 100, 70); 可以设置自定义尺寸大小,但我是想知道PrintDialog窗口点击确定后,用户填写的自定义的尺寸。
PaperSize gg = new PaperSize();
gg = this.printDocument1.PrinterSettings.DefaultPageSettings.PaperSize;
int x = gg.Width;//获取页面设置的纸张尺寸
int y = gg.Height;
这个方法仅可以获取A4,A3等可选择尺寸的高度和宽度,获取自定义的尺寸结果还返回的是A4的宽度和高度。求教
PaperSize ps =new PaperSize("Your Paper Name", 100, 70); 可以设置自定义尺寸大小,但我是想知道PrintDialog窗口点击确定后,用户填写的自定义的尺寸。
PaperSize gg = new PaperSize();
gg = this.printDocument1.PrinterSettings.DefaultPageSettings.PaperSize;
int x = gg.Width;//获取页面设置的纸张尺寸
int y = gg.Height;
这个方法仅可以获取A4,A3等可选择尺寸的高度和宽度,获取自定义的尺寸结果还返回的是A4的宽度和高度。求教
#1
第1步, 你可以将文件读取到 PictureBox
第2步:
拖一个printDocument控件到界面。
打印按钮的代码:
C# CODE:
private void button1_Click(object sender, EventArgs e)//执行打印
{
PrintDialog MyPrintDg = new PrintDialog();
MyPrintDg.Document = printDocument1;
if (MyPrintDg.ShowDialog() == DialogResult.OK) { try
{
printDocument1.Print();
}
catch
{ //停止打印
printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());
}
}
}
第3步:
设置printDocument控件的PrintPage事件:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image, 20, 20);
}
第2步:
拖一个printDocument控件到界面。
打印按钮的代码:
C# CODE:
private void button1_Click(object sender, EventArgs e)//执行打印
{
PrintDialog MyPrintDg = new PrintDialog();
MyPrintDg.Document = printDocument1;
if (MyPrintDg.ShowDialog() == DialogResult.OK) { try
{
printDocument1.Print();
}
catch
{ //停止打印
printDocument1.PrintController.OnEndPrint(printDocument1, new System.Drawing.Printing.PrintEventArgs());
}
}
}
第3步:
设置printDocument控件的PrintPage事件:
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image, 20, 20);
}
#2
注意问题是如何调用系统照片打印向导,不是用printDocument打印
#3
#4
这个问题可能比较难实现,上面说的对我都没什么帮助。那么换个问题来问,如何获取PrintDialog用户设置的自定义尺寸大小?
PaperSize ps =new PaperSize("Your Paper Name", 100, 70); 可以设置自定义尺寸大小,但我是想知道PrintDialog窗口点击确定后,用户填写的自定义的尺寸。
PaperSize gg = new PaperSize();
gg = this.printDocument1.PrinterSettings.DefaultPageSettings.PaperSize;
int x = gg.Width;//获取页面设置的纸张尺寸
int y = gg.Height;
这个方法仅可以获取A4,A3等可选择尺寸的高度和宽度,获取自定义的尺寸结果还返回的是A4的宽度和高度。求教
PaperSize ps =new PaperSize("Your Paper Name", 100, 70); 可以设置自定义尺寸大小,但我是想知道PrintDialog窗口点击确定后,用户填写的自定义的尺寸。
PaperSize gg = new PaperSize();
gg = this.printDocument1.PrinterSettings.DefaultPageSettings.PaperSize;
int x = gg.Width;//获取页面设置的纸张尺寸
int y = gg.Height;
这个方法仅可以获取A4,A3等可选择尺寸的高度和宽度,获取自定义的尺寸结果还返回的是A4的宽度和高度。求教