// Print 전에 Internet Explorer Registry 설정 진행 하였습니다. ( HKCU )
RegistryKey IERegKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup",true);
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SHDocVw;
using Microsoft.Win32;
namespace WebBrowserPrintNET
{
public partial class FrmWebBrowser : Form
{
public FrmWebBrowser()
{
InitializeComponent();
}
private void FrmWebBrowser_Load(object sender, EventArgs e)
{
}
private void FrmWebBrowser_Shown(object sender, EventArgs e)
{
try {
// 스크립트 에러
webBrowser.ScriptErrorsSuppressed = true;
// Navigate 한다.
webBrowser.Navigate(Environment.GetCommandLineArgs()[1]);
} catch {
Environment.Exit(Environment.ExitCode);
}
}
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
try
{
// Print 전에 Internet Explorer Registry 설정 진행
RegistryKey IERegKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup",true);
IERegKey.SetValue("footer", "");
IERegKey.SetValue("header", "");
var iwb2 = (IWebBrowser2)webBrowser.ActiveXInstance;
var events = (DWebBrowserEvents2_Event)webBrowser.ActiveXInstance;
events.PrintTemplateTeardown += new DWebBrowserEvents2_PrintTemplateTeardownEventHandler(events_PrintTemplateTeardown);
var missing = Type.Missing;
iwb2.ExecWB(OLECMDID.OLECMDID_PRINT, OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER, ref missing, ref missing);
}
catch
{
Environment.Exit(Environment.ExitCode);
}
}
void events_PrintTemplateTeardown(object pDisp)
{
try
{
// Print 전에 Internet Explorer Registry 설정 진행
RegistryKey IERegKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\PageSetup", true);
IERegKey.DeleteValue("footer");
IERegKey.DeleteValue("header");
}
catch
{
}
finally
{
Environment.Exit(Environment.ExitCode);
}
}
}
}
'C# > WindowsForm' 카테고리의 다른 글
[webview2] window.print 호출 시에 사용자의 Default Printer 선택 하게 옵션 설정 (0) | 2022.06.13 |
---|---|
WebView2 Fixed 버젼 이용 시에 참조 부분 (0) | 2022.05.29 |
[C#] HttpWebRequest를 이용한 Multipart/form-data 파일 업로드 예제 (0) | 2020.11.16 |
[C#] JavaScriptSerializer 를 이용하여 json string to object로 파싱 예제 (0) | 2020.07.12 |
[C#] 64BIT OS에서 32bit COM,ACTIVEX 참조 하기 (0) | 2017.11.28 |