【发布时间】:2016-04-23 17:54:22
【问题描述】:
我想将多个图像打印到一个 pdf 文件中,但不是使用常规打印对话框,而是使用“打印图片”对话框(见下图)。作为打印机,我想使用windows 10自带的'Microsoft print to PDF'-Printer。
我当前的代码如下所示:
string fileName = @"C:\Users\mt\Pictures\test\test.jpg";
var p = new Process();
p.StartInfo.FileName = fileName;
p.StartInfo.Verb = "Print";
p.Start();
到目前为止一切顺利,正确的对话正在显示。我先用其他方法尝试过,没有给我这个。我现在可以将一张图像打印到 pdf 页面,但如何添加其他图像?另外,在这个解决方案中,我看不到如何设置打印设置,比如图像的大小,它应该尽可能大,而不需要剪切图像并更改为水平格式。
之前,我有这个代码:
try
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
pd.PrinterSettings.PrinterName = STR_PRINTER_NAME;
pd.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(@"C:\Users\mt\Pictures\test\1.jpg");
Point loc = new Point(100, 100);
e.Graphics.DrawImage(img, loc);
img.Dispose();
}
我将其更改为“打印图片”对话框。最后,对话框本身并不重要,但“打印图片”对话框得到了我需要的所有设置。用户唯一需要设置的是 pdf 文件的名称。
【问题讨论】:
标签: c# pdf printing windows-10