3

HTMLSSRS から取得したバイト [] としてドキュメントがあり、それを横向きの紙形式で印刷したいと考えています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);
4

2 に答える 2

1

印刷テンプレートを作成し、特定のプリンター、用紙サイズ、向きに合わせて構成された独自のDEVMODEを提供する必要があります。注意が必要ですが実行可能です。Marc Durdin によるこの優れたブログ投稿の情報を使用してください。また、最初に見た、用紙の向きに関するあなたの関連する質問に対する私の回答で、印刷テンプレートに関する詳細情報を見つけることができます.

于 2013-10-04T03:44:42.577 に答える
0

私が知る限り、サーバー側からブラウザー (クライアント側) のプロパティを設定または変更することはできません。そのような対話性については、ActiveX、Java、または Silverlight ソリューションを試す必要があります。

そのためのアプレットの 1 つはjZebra です。私は使用していませんが、 jZebra チュートリアルでいくつかの情報を見つけることができます

もう 1 つの推奨事項は、印刷する前に「用紙サイズを変更してデフォルトにする方法」に関する指示を含むポップアップを表示することです。

于 2013-09-30T15:18:34.890 に答える