ProcessStartInfo 類別
ProcessStartInfo.Arguments 屬性
Sending byte array to printer
使用 C# 批次列印 PDF 檔案
[C#]使用預設印表機列印pdf文件
Try below code
Warning[] warnings;
string mimeType;
string encoding;
string extension;
string deviceInfo;
string[] streamids;
deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>PDF</OutputFormat>" +
" <PageSize>A4</PageSize>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.25in</MarginTop>" +
" <MarginLeft>0.25in</MarginLeft>" +
" <MarginRight>0.25in</MarginRight>" +
" <MarginBottom>0.25in</MarginBottom>" +
"</DeviceInfo>";
byte[] bytes = ReportViewer1.ServerReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamids, out warnings);
FileStream fs = new FileStream(@"c:\output.PDF",
FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "Print";
startInfo.Arguments = "Printer Name";
startInfo.CreateNoWindow = false;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = @"C:\output.pdf";
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
其它參考:
沒有留言:
張貼留言