149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
Задача такая: необходимо распечатать файл HTML, но не код, а страницу-результат (она очень простая, без скриптов). Причём, сделать это надо не отобразив её на экране - сразу послать на принтер. COM-объект для отображения HTML-страниц функции печати не имеет, точнее имеет, но в контекстном меню, а юзер, как известно, туп, да и не выход это...
Язык: C#.
Язык: C#.
в любом случае надежда есть, так как программ типа html2image я видел как минимум 2
Его и пользую... Но пока не нашла как с него печатать;о((( Научи, а? Очень надо...
Ура!!! Жду;о)
private void DocumentPrint()
{
// Проверяем возможность печати
if (!IsCommandEnabled(SHDocVw.OLECMDID.OLECMDID_PRINT))
return;
object nullValue = System.Reflection.Missing.Value;
object pvaIn = new string[]{string.Empty, };
browser.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT,
SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER,
ref pvaIn,
ref nullValue);
}
private bool IsCommandEnabled(SHDocVw.OLECMDID theCommand)
{
int response = (int)browser.QueryStatusWB(theCommand);
return (response & (int) SHDocVw.OLECMDF.OLECMDF_ENABLED) != 0 ? true : false;
}
То есть даже можно обойтись без объекта PrintDocument?
Кстати, а зачем nulValue и pvaIn передаются by ref? Это же упакованные объекты, они сами по себе ссылочные.
К какому типу относится переменная SHDocVw и для чего она применяется?
Патамушта если писать вызов без "ref", то компилятор не пропустит. Достаточная причина? :-))))
SHDocVw - эт не переменная, это namespace с енумераторами.
Ахха, всё, разобралась. Спасибо! Сейчас буду пробовать...