已生成好的pdf文件,如何直接通过默认打印机直接打印出来,不用点击确认

chai1338 2015-01-29 02:50:18
已生成好的pdf文件,如何直接通过默认打印机直接打印出来,不用点击确认,就直接出面单.
就是想通过扫描机一扫描某个条码,然后我通过回车事件调用一个按钮方法,通过条码把查好的信息通过iTextSharp生成了一个pdf如何把这个pdf直接打印出来,不用预览也不用确认,直接打印机里就出面单了
...全文
1836 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lostelk 2016-04-21
  • 打赏
  • 举报
回复
最后解决了吗
qq_34507356 2016-04-08
  • 打赏
  • 举报
回复
楼主,最后你解决了吗?
本拉灯 2015-02-05
  • 打赏
  • 举报
回复
PdfWriter??这是啥玩意
chai1338 2015-02-05
  • 打赏
  • 举报
回复
我把我的解决办法也贴出来吧, 1,把生成PDF文档到MemoryStream. MemoryStream pdfdata = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(document, pdfdata); 2,在PdfWriter中加javescript. StringBuilder script = new StringBuilder(); script.Append("this.print({bUI: true,bSilent: true,bShrinkToFit: false});"); writer.ViewerPreferences = PdfWriter.HideMenubar | PdfWriter.HideToolbar | PdfWriter.HideWindowUI; writer.AddJavaScript(script.ToString()); 3,输出到客户端缓存. protected void submit_Click(object sender, EventArgs e) { MemoryStream PDFData =1中的返回值; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.Charset = string.Empty; Response.Cache.SetCacheability(System.Web.HttpCacheability.Public); Response.AddHeader("Content-Disposition", "inline; filename=" + Title.Replace(" ", "").Replace(":", "-") + ".pdf"); Response.OutputStream.Write(PDFData.GetBuffer(), 0, PDFData.GetBuffer().Length); Response.OutputStream.Flush(); Response.OutputStream.Close(); } 4,我在页面上放一个iframe(width=0,height=0),就是让他不可见,让pdf文档在他下面打开,就会执行打印动作. <form id="form1" runat="server" target="iframe1"> <div><center> <br /> <asp:Button ID="submit" runat="server" OnClick="submit_Click" Text="Print PO" /> </center></div> </form> <iframe name="iframe1" width="0" height="0"> </iframe> 希望对想和我实现一样功能的朋友有些参考价值. 走到writer.AddJavaScript(script.ToString());报对象为空
xuan.ye 2015-02-02
  • 打赏
  • 举报
回复
用水晶报表 的 activex 模式看看吧
还想懒够 2015-01-31
  • 打赏
  • 举报
回复
直接生成网页,然后使用javascript的window.print,弹出打印框,让用户点一下。否则你是没权限控制对方的打印机的,除非ActiveX。
本拉灯 2015-01-29
  • 打赏
  • 举报
回复
引用 4 楼 chai1338 的回复:
[quote=引用 2 楼 wyd1520 的回复:] WinForm下好办多了,Aspnet下只能借助Activex 了要不然没法子。。。
是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗[/quote] 当然不是,浏览器上没有能直接打印PDF的功能,你要借第三方的组件,所以才说用ActiveX加载第三方组件,然后直接调用打印方法
chai1338 2015-01-29
  • 打赏
  • 举报
回复
引用 2 楼 wyd1520 的回复:
WinForm下好办多了,Aspnet下只能借助Activex 了要不然没法子。。。
是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗
chai1338 2015-01-29
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
你不如代码直接控制打印机打印,还生成PDF干嘛
因为表格还没出来的。不是只扫出那个条码,是要打印一个面单,所以把拼好的表格放到pdf文件去而已
本拉灯 2015-01-29
  • 打赏
  • 举报
回复
WinForm下好办多了,Aspnet下只能借助Activex 了要不然没法子。。。
於黾 2015-01-29
  • 打赏
  • 举报
回复
你不如代码直接控制打印机打印,还生成PDF干嘛

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧