我有一个构建报告的ASPX页面。我有一个打印按钮,使用ITextSharp构建一个pdf文件。现在我要打印该文件。
我有两个问题:
如何在不保存文件的情况下打印出来?
如果我不能这样做,我至少可以打印保存的文件吗?
提前致谢。
答案 0 :(得分:4)
您无法使用iTextSharp打印PDF文档。 iTextSharp只能用于阅读或构建PDF文件。
您可以做的是向用户展示,然后他可以选择是否打印。
以下是如何通过C#ASP.NET将PDF文档推送给用户的示例:How To Write Binary Files to the Browser Using ASP.NET and Visual C# .NET
答案 1 :(得分:1)
@Jared。那么我们所做的就是在我们将它保存在文件系统上之后启动带有打印参数的acrobat阅读器。类似的东西:
ProcessStartInfo newProcess = new ProcessStartInfo(pdfPath, dfArguments);
newProcess.CreateNoWindow = true; newProcess.RedirectStandardOutput = true; newProcess.UseShellExecute = false; Process pdfProcess = new Process(); pdfProcess.StartInfo = newProcess; pdfProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; pdfProcess.Start(); pdfProcess.WaitForExit();
(请注意,这不是我们使用的实际代码,我从here获得此代码)这应该让您入门。
有关使用打印参数初始化adobe acrobat,请参阅this。
希望它有所帮助。
答案 2 :(得分:-2)
在ASP.NET中,您不打印任何内容,用户可以打印。你能做的最多就是调出print dialog,但我个人觉得当网页突然打开一个模态对话框时会非常烦人。