Вниз
Скачать: CL | DM;

Как напечатать HTML?   Найти похожие ветки 

 
ocean   (2009-10-06 17:27) [0]

У меня в строке текст странички HTML. Как проще всего напечатать ее на текущий принтер?


 
TIF ©   (2009-10-06 18:16) [1]

> текст странички HTML

Так что же всё-таки надо вывести на печать - HTML-код или страницу, которая после обработки этого кода должна получиться? :)

Если второе - я бы распечатал с использованием TWebBrowser


 
ocean   (2009-10-06 19:15) [2]

> я бы распечатал с использованием TWebBrowser
Это значит сохранить строку в файл, дать
WebBrowser1.Navigate(Filename);

и как печатать?


 
palva ©   (2009-10-06 19:53) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
 HTMLDoc: IHTMLDocument2;
 HTMLWnd: IHTMLWindow2;
 HTMLWindow3: IHTMLWindow3;
begin
 HTMLDoc := WebBrowser1.Document as IHTMLDocument2;
 HTMLWnd := HTMLDoc.parentWindow;
 HTMLWindow3 := HTMLWnd as IHTMLWindow3;
 HTMLWindow3.print;
end;


 
palva ©   (2009-10-06 19:53) [4]

uses MSHTML;


 
TIF ©   (2009-10-06 22:27) [5]

> Это значит сохранить строку в файл

Это лишнее, можно передать код в веббраузер через OLE


 
palva ©   (2009-10-06 23:01) [6]


> Это лишнее, можно передать код в веббраузер через OLE

Да и прямо строку можно Navigate, добавив перед ней указание протокола about:


 
ocean   (2009-10-07 17:05) [7]

Удивительно, это работает, но с 2 оговорками.
Я читал статью про WebBrowser и about, но у меня этот фокус не прошел:
procedure ShowHTMLString(HTMLText : String);
   vText : OleVariant;
begin
vText := "about:" + HTMLText;
Form1.WebBrowser1.Navigate2(vText);
end;
срабатывает только на простых строках типа приведенной в статье, у меня показывает "Невозможно открыть страницу". Понятно, что надо анализировать строку, что-то убирать и т.д., "как раз на месяц плотной работы". И еще, в варианте > palva ©   (06.10.09 19:53) [3]
выскакивает диалог выбора принтера, хотелось автоматически. Но направление ясно, спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
3-1229490448
Sirus
2008-12-17 08:07
2009.11.22
Рекурсивный внешний ключ на саму запись


9-1182769583
MegaVolt
2007-06-25 15:06
2009.11.22
После тесселяции как убрать щели между треугольниками,?


15-1253824205
Юрий
2009-09-25 00:30
2009.11.22
С днем рождения ! 25 сентября 2009 пятница


15-1254127105
@!!ex
2009-09-28 12:38
2009.11.22
Как из SVN репозитория удалить два последних коммита?


2-1255076968
Pascal96
2009-10-09 12:29
2009.11.22
Задачка на Pascal




   Наверх