Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > как открыть и распечать html документ


Автор: frodo 25.4.2008, 14:17
Добрый день!как можно открыть и распечатать html документ в скрытом режиме!т.е. чтоб при нажатии на кнопку открывался html документ и распечатывался сразуже, но пользователь чтоб этово невидел!

Автор: Sanchezzz 25.4.2008, 14:36
поподробнее можна? 
1 в твой программе или где то?
2 что используешь для открытья TWebbrowser или что то иное?

Автор: frodo 25.4.2008, 15:00
Цитата(Sanchezzz @ 25.4.2008,  14:36)
поподробнее можна? 
1 в твой программе или где то?
2 что используешь для открытья TWebbrowser или что то иное?

Я неиспользую webbrowser, просто делаю winexec('') и вот надо чтоб она открывалась в невидимом режиме так сказать!!!
P.S. а если использовать webbrowser То его можно распечатать?

Автор: pavelv 25.4.2008, 17:04
А в ворде не подходит? Или у тебя задача там стоит именно с html files?

Автор: Letov 25.4.2008, 19:09
Ты html из сети получаешь или с локального компьютера?
Sanchezzz, +1. 
frodo, опиши подробнее...

Автор: frodo 26.4.2008, 05:56
Цитата(Letov @ 25.4.2008,  19:09)
Ты html из сети получаешь или с локального компьютера?
Sanchezzz, +1. 
frodo, опиши подробнее...

да причем тут сеть, мну нужно просто чтоб при нажатии на конопу, открывался некий html файл и распечатывался и все, но чтоб это было скрыто от пользователя, чтою он этово невидел

Добавлено через 4 минуты и 44 секунды
Цитата(pavelv @ 25.4.2008,  17:04)
А в ворде не подходит? Или у тебя задача там стоит именно с html files?

можно и в word но чтоб тож, это невидел пользователь

Автор: Wolfgan 28.4.2008, 08:39
Для запуска внешней программы, для посылки письма или для создания ссылки на сайт вам понадобиться всего одна функция ShellExecute, которая описывается в модуле ShellAPI - не забудьте подключить его в uses.

Этой функции нужно указать несколько параметров:

    * Дескриптор родительского окна
    * Выполняемое действие. Этот параметр может принимать следующие значения "open", "print", "explore" - соответственно открытие, печать или исследование. Можно указывать nil - тогда будет выполняться действие по умолчанию - "open".
    * Имя файла или папки, или e-mail, или URL
    * Параметры
    * Каталог по умолчанию
    * Способ вывода окна. В качестве значения можно указать:
          o SW_HIDE Скрывает окно и активизирует другое.
          o SW_MAXIMIZE Разворачивает окно.
          o SW_MINIMIZE Сворачивает окно.
          o SW_RESTORE Активизирует и выводит окно. Если окно было развёрнуто или свёрнуто - восстанавливает исходный размер и позицию.
          o SW_SHOW Активизирует и выводит окно с его оригинальным размером и положением.
          o SW_SHOWDEFAULT Активизирует с установками, заданными в структуре STARTUPINFO, которая была передана при создании процесса приложением запускающим нужную программу.
          o SW_SHOWMAXIMIZED Выводит окно в развёрнутом виде.
          o SW_SHOWMINIMIZED Выводит окно в виде пиктограммы на панели задач.
          o SW_SHOWMINNOACTIVE Выводит окно в свёрнутом виде на панели задач и не передаёт ему фокус ввода, т.е. окно, которое до этого было активно остаётся активно по прежнему.
          o SW_SHOWNA Отображает окно в его текущем состоянии. Активное окно остаётся активным по прежнему.
          o SW_SHOWNOACTIVATE Выводит окно в его последнем положении и с последними используемыми размерами. Активное окно остаётся активным по прежнему.
          o SW_SHOWNORMAL Выводит окно. Если оно было свёрнуто или развёрнуто - восстанавливает его оригинальные размеры и позицию
Код

// Запуск файла
ShellExecute(Handle, nil, 'c:\windows\calc.exe', nil, nil, SW_SHOW);

// Просмотр каталога
ShellExecute(Handle, nil, 'c:\windows', nil, nil, SW_SHOW);

// Ссылка на сайт
ShellExecute(Handle, nil, 'http://www.site.ru', nil, nil, SW_SHOW);

// Послать E-mail
ShellExecute(Handle, nil, 'mailto:[email protected]', nil, nil, SW_SHOW);


В вашем случае нужно сиспользовать команду print с параметром SW_HIDE

Автор: MetalFan 28.4.2008, 14:01
Цитата(frodo @  26.4.2008,  05:56 Найти цитируемый пост)
мну нужно просто чтоб при нажатии на конопу, открывался некий html файл и распечатывался и все, но чтоб это было скрыто от пользователя, чтою он этово невидел

используй TWebBrowser в невидимом режиме...

Автор: frodo 28.4.2008, 18:28
Цитата(MetalFan @ 28.4.2008,  14:01)
Цитата(frodo @  26.4.2008,  05:56 Найти цитируемый пост)
мну нужно просто чтоб при нажатии на конопу, открывался некий html файл и распечатывался и все, но чтоб это было скрыто от пользователя, чтою он этово невидел

используй TWebBrowser в невидимом режиме...

вооо это получилось!круто!правда код ля распечатки ужас какой(а смысле непонятливый)!

Автор: goa_dreamer 13.9.2008, 14:56
Нехотелось бы пока заводить новую тему, но задача в следущеем:
- нужно установить свойства страницы для печати - альбомная - в TWebBrowser в скрытом режиме.

На данный момент нашел разные варианты решения этой задачи:
- идея из компонента TEmbeddedWB (TWebBrowser из компонентов Embedded, http://bsalsa.com/ ) - при вызове окна свойства страницы перехватить это событие, окно вывести за пределы видимого экрана, установить нужные переключатели в нужные позиции и нажать кнопку ок.
- перелистывая msdn.microsoft.com нашел понятие как шаблон печати:
http://msdn.microsoft.com/en-us/library/bb250434(VS.85).aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)