【问题标题】:.net print HTML document in landscape representation.net 以横向表示形式打印 HTML 文档
【发布时间】:2013-10-04 11:45:05
【问题描述】:

我有HTML 文档作为从SSRS 检索到的字节[],我想以C5 纸张格式以横向表示形式打印它。我使用 IE 进行打印,但我不知道如何告诉他以横向 C5 模式打印我的文档。有什么建议吗?

var envelope = proxy.Render(
                    Format, DevInfo, out extension, out mimeType, out encoding, out warnings, out streamIDs);

                using (FileStream fStream = File.Create(string.Format(@"printtmp\envelope_{0}.html", i)))
                {
                    fStream.Write(envelope, 0, envelope.Length);
                }
                var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, string.Format(@"printtmp\envelope_{0}.html", i));

                var ie = new InternetExplorer();
                ie.PrintTemplateTeardown += disp =>
                    {
                        File.Delete(path);
                        ie.Quit();
                    };
                ie.DocumentComplete += (object disp, ref object url) =>
                {
                    ie.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, Type.Missing, Type.Missing);
                };

                ie.Navigate(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

【问题讨论】:

    标签: c# html .net printing webbrowser-control


    【解决方案1】:

    您需要创建一个打印模板并提供您自己的DEVMODE,并针对特定的打印机、纸张尺寸和方向进行配置。这很棘手但可行,请使用来自this excellent blog post by Marc Durdin 的信息。您还可以在我的answer 中找到有关打印模板的更多信息,至您的相关question 关于纸张方向,这是我首先看到的。

    【讨论】:

      【解决方案2】:

      据我所知,您无法从服务器端设置或修改浏览器(客户端)属性,对于这种交互性,您应该尝试使用 ActiveX、Java 或 Silverlight 解决方案。

      一个小程序是jZebra,我没用过,但你可以在jZebra Tutorial找到一些信息

      另一个建议是在打印之前显示一个弹出窗口,其中包含有关“如何更改纸张尺寸并使其成为默认值”的说明。

      【讨论】:

      • 但是如何更改 IE 打印的默认设置(C5、横向)?
      • 也许 jZebra 会提供某种 API,如果不是我认为是不可能的,出于安全原因,Web 浏览器无法访问这种配置。在您的情况下,应在 PC 上手动完成配置并设置为默认值,或者搜索/开发浏览器插件或扩展
      • 'WebBrowser' - 它是一个 win 表单控件 :) 见 msdn.microsoft.com/en-us/library/…
      • 如果我错了,请纠正我,但如果您在 WinForms 应用程序中,使用本机报表查看器控件 link 再好不过了。
      猜你喜欢
      • 2010-09-13
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多