已生成好的pdf文件,如何直接通过默认打印机直接打印出来,不用点击确认 pdf默认打印机不用确认不用预览后台调用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你不如代码直接控制打印机打印,还生成PDF干嘛 WinForm下好办多了,Aspnet下只能借助Activex 了要不然没法子 因为表格还没出来的。不是只扫出那个条码,是要打印一个面单,所以把拼好的表格放到pdf文件去而已 是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗 是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗当然不是,浏览器上没有能直接打印PDF的功能,你要借第三方的组件,所以才说用ActiveX加载第三方组件,然后直接调用打印方法 直接生成网页,然后使用javascript的window.print,弹出打印框,让用户点一下。否则你是没权限控制对方的打印机的,除非ActiveX。 用水晶报表 的 activex 模式看看吧 我把我的解决办法也贴出来吧,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());报对象为空 有做过新浪微博Oauth2.0授权 之类的东西的朋友么? 如何在webservice中使用ResolveUrl Jquery中使用Post方法不能调用Web Service中的方法 冰天雪地裸体跪求大神指导RSS订阅器遇到的问题。 网站发布时aspnet比java的项目麻烦得多? 关于vs05.net里面的tableadapter的sql语句问题 做web word控件的思路是怎样的? 获取控件集合的问题 初学着的问题 VS.web高手请进 winform webbrowser 如何取得JS加载的内容? 不同用户登录不同页面的问题
WinForm下好办多了,Aspnet下只能借助Activex 了要不然没法子
是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗
是指<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印"> 这个方法吗当然不是,浏览器上没有能直接打印PDF的功能,你要借第三方的组件,所以才说用ActiveX加载第三方组件,然后直接调用打印方法
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());报对象为空