Печать строки HTML без создания файла HTML? - PullRequest
3 голосов
/ 10 февраля 2011

Как я могу напечатать строку HTML, чтобы все теги HTML распознавались и отображались правильно? Я предполагаю, что можно создать файл .HTML и распечатать его, но если есть способ сделать это без создания дополнительных файлов, мне было бы интересно узнать, как это сделать. Спасибо!

Добавление:

pd.PrintPage += new PrintPageEventHandler(PrintDocument_PrintPage);
pd.Print();

Еще код:

static private void PrintDocument_PrintPage(Object sender, PrintPageEventArgs e) {
    Font printFont = new Font("Courier New", 12);
    e.Graphics.DrawString("<b>Hello</b> world", printFont, Brushes.Black, 0, 0);
}

Результат печати:

<b>Hello</b> world

1 Ответ

4 голосов
/ 10 февраля 2011

Объект Graphics не понимает HTML, а DrawString будет работать именно так, как вы выяснили.

Вам потребуется использовать объект Graphics с жирным шрифтом для Hello и не жирным шрифтом для world и удалить разметку HTML.

Таким образом, для более общего подхода вам понадобится анализатор HTML (например, HTML Agility Pack ) и способ преобразования HTML в разные шрифты.

Возможно, вам будет проще использовать WebBrowser и использовать его для печати. ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...