我正在尝试使用C#中的PrintDocument
打印图像,但在打印和预览时,某些设置(如页数和图像质量)将被忽略。
以下代码有什么问题吗,我错过了什么吗?
private void button1_Click(object sender, EventArgs e)
{
using (var printDialog = new PrintDialog())
{
if (printDialog.ShowDialog() == DialogResult.OK)
{
_printDocument.PrinterSettings = printDialog.PrinterSettings;
}
}
}
void _printDocument_Print(object sender, PrintPageEventArgs e)
{
using (Image image = new Bitmap("image0002.tif"))
{
e.Graphics.DrawImage(image, e.MarginBounds.X, e.MarginBounds.Y);
}
}
答案 0 :(得分:1)
您是否尝试将PrintDialog
的{{1}}属性设置为要打印的文档?如果我没记错的话,该对话框应自动管理当前Document
的设置,因此不需要手动分配PrintDocument
。
此外,我认为来自PrinterSettings
的{{1}}表示您应该打印文档(用户点击了“打印”按钮)。
例如:
DialogResult.OK
这有帮助吗?
编辑:如果您不想立即打印,可以尝试:
PrintDialog.ShowDialog()
但如果点击“打印”并且文档无法打印,用户可能会觉得有点奇怪。