|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
На входе у нас есть произвольный html (имеющий довольно сложную структуру, что затрудняет его парсинг) и ширина страницы в сантиметрах для отображения данного html. На выходе должна быть картинка в виде bmp (потом уже при необходимости преобразуем в более удобный формат png/jpg - но это за рамками данной темы). Как можно преобразовать html с известной шири ной страницы в bmp (желательно с возможностью управления dpi)? В наличии: среда разработки Delphi XE8. В идеале преобразование должно быть целиком с помощью Delphi. Как вариант, если это невозможно - можно рассмотреть сторонние бесплатные утилиты (желательно не GPL). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 12:17 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
вывести html в странице браузера на весь экран и сделать его снимок ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 12:32 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87> ширина страницы в сантиметрах для Наталья87> отображения данного html. Смотря что Вам надо зумить - html-ку или картинку. Проще всего отобразить html любым браузером, предварительно задав ему нужную ширину - в пикселях, конечно же, а не в сантиметрах - и сделать скриншот. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 12:48 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87, посмотрите, может вым подойдёт https://github.com/BerndGabriel/HtmlViewer ? И далее редерьте на Canvas битмапа. Возможности компонента до инсталляции можно проверить скомпилированной демкой, она там прилагается ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:21 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам Наталья87> ширина страницы в сантиметрах для Наталья87> отображения данного html. Смотря что Вам надо зумить - html-ку или картинку. Проще всего отобразить html любым браузером, предварительно задав ему нужную ширину - в пикселях, конечно же, а не в сантиметрах - и сделать скриншот. Это некрасивый и ненадёжный способ. Т. к. будут отображаться ненужные пользователю окна на экране. И в скриншот может попасть лишнее или скриншот может быть сделан в неправильный момент времени (с опозданием или раньше времени). В общем, нужен нормальный надёжный способ и без мерцающих окон. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:22 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
без шансов. тут программист нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:28 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87 Это некрасивый и ненадёжный способ. Т. к. будут отображаться ненужные пользователю окна на экране. И в скриншот может попасть лишнее или скриншот может быть сделан в неправильный момент времени (с опозданием или раньше времени). В общем, нужен нормальный надёжный способ и без мерцающих окон. О, оказывается, я соскучился по этим метким и хлестким эпитетам :) "Ненужный мусор" в отношении секции uses навеки в моем сердце, но там еще много пустующих слотов для новых шедевров. Жгите! По теме: отобразить чем-либо с контролем "лишнего" и "неправильного", конечно же. HtmlViewer уже упомянули, следующий после компонента браузера идет Phantom (жаль, не обновляется давно) или любой другой браузер, подключенный через WebDriver ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 13:33 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамПроще всего отобразить html любым браузером, предварительно задав ему нужную ширину - в пикселях, Ещё через пару страниц выяснится, что это нужно для печати и у принтера 1200 dpi, а браузер не хочет раскрываться на такую ширину. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:04 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Гаджимурадов РустамПроще всего отобразить html любым браузером, предварительно задав ему нужную ширину - в пикселях, Ещё через пару страниц выяснится, что это нужно для печати и у принтера 1200 dpi, а браузер не хочет раскрываться на такую ширину. да, всё верно. это нужно для последующей печати на принтере (bmp на принтер печатать умею встроенными средствами Delphi) не могу понять - как распечатать произвольный html-текст на принтер с заданным именем автоматически (а не просто открыть html браузеру и предложить пользователю распечатать html) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:07 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, При попытке отобразить html компонентом TWebBrowser обнаружился неприятный сюрприз - а именно он не хочет отображать картинку в формате base64Encode ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:13 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87, Программа (приложение, компонент), превращающая код html в картинку, называется html viewer, он же браузер. Вам, ясен пень, удобнее использовать браузер, реализованный в виде компонента Delphi, или хотя бы в виде OLE-объекта, некоторые вам подсказали выше. Написать браузер - это довольно емкая работа, но все уже сделали за вас. Вам осталось только стартовать готовый, выставить нужные свойства (длину, ширину, тулбары и пр.), загрузить html, и попросить браузер отдать вам картинку. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:17 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
shalamyansky и попросить браузер отдать вам картинку. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:19 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87 он не хочет отображать картинку в формате base64Encode Наталья, вы, похоже, еще не проснулись. В таком случае рекомендована пара чашек крепкого кофе. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:20 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
_Vasilisk_и попросить браузер напечатать документ Возможно, это удастся сделать через ShellExeuteEx('print', ...); Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:25 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87 не могу понять - как распечатать произвольный html-текст на принтер с заданным именем автоматически (а не просто открыть html браузеру и предложить пользователю распечатать html) Может у Свириденкова в библиотеке что-то есть: https://www.delphihtmlcomponents.com/ ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:30 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
_Vasilisk_ попросить браузер напечатать документ Можно и так, но тогда придется управлять и принтером (виртуальным, да?). Ей ведь нужен не размер А4 с разбивкой по страницам, а некие произвольные ширина и высота картинки. В каких единицах, кстати, линейных, пикселах? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:31 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
shalamyansky Ей ведь нужен не размер А4 с разбивкой по страницам Наталья87 это нужно для последующей печати на принтере ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:35 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov _Vasilisk_и попросить браузер напечатать документ Возможно, это удастся сделать через ShellExeuteEx('print', ...); Но здесь есть один нюанс - нужно перед печатью менять default printer на нужный А после печати менять обратно Как бы не есть хорошо менять настройки windows ради прикладной программы ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:39 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
shalamyansky Наталья87 он не хочет отображать картинку в формате base64Encode Наталья, вы, похоже, еще не проснулись. В таком случае рекомендована пара чашек крепкого кофе. На самом деле такое есть. Позволяет хранить бинарники внутри html ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:41 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
повторю свой пост, он кажется затерялся среди ответов THtmlViewer Кроик Семён Наталья87, посмотрите, может вым подойдёт https://github.com/BerndGabriel/HtmlViewer ? И далее редерьте на Canvas битмапа. Возможности компонента до инсталляции можно проверить скомпилированной демкой, она там прилагается ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:41 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Единственный рабочий вариант, написанный полностью на Дельфи и не зависящий ни от чего это https://delphihtmlcomponents.com С поддержкой CSS, сложной структуры, с разбитием на страницы или без, не привязанный к выводу на экран и окнам, с поддержкой base64 изображений и.т.д. Делается в 5-10 строчек, при покупке библиотеки вышлю готовый пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:54 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87Но здесь есть один нюанс - нужно перед печатью менять default printer на нужный Ещё через две страницы выяснится, что в HTML сформирован блок этикеток для печати на принтере этикеток... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:54 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
_Vasilisk_ Именно это ей и нужно Наталья87 это нужно для последующей печати на принтере Вау, слона-то я и не приметил. Я когда-то писал превью печати, и как раз для браузера-компонента. Заставлял браузер делать свой вывод на канву, и сохранял это хозяйство как EMF (Enhanced Metafile). Довольно мило получалось, и масштабировать можно, и в файл emf сохранить, и распечатать, естественно. Но с тех пор 20 лет минуло, думаю уж, что поудобнее появилось. Наталья, берите на заметку. А bmp для вашей задачи ну совсем дубовый формат. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 14:56 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
Наталья87 Dimitry Sibiryakov пропущено... Возможно, это удастся сделать через ShellExeuteEx('print', ...); Но здесь есть один нюанс - нужно перед печатью менять default printer на нужный А после печати менять обратно вместо 'print' надо использовать 'printto' с указанием, на какой принтер печатать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 15:09 |
|
Как преобразовать html с заданной шириной в bmp?
|
|||
---|---|---|---|
#18+
asviridenkov Единственный рабочий вариант, написанный полностью на Дельфи и не зависящий ни от чего это https://delphihtmlcomponents.com С поддержкой CSS, сложной структуры, с разбитием на страницы или без, не привязанный к выводу на экран и окнам, с поддержкой base64 изображений и.т.д. Делается в 5-10 строчек, при покупке библиотеки вышлю готовый пример. Ну наконец-то. Мы все этого очень долго ждали ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2022, 15:09 |
|
|
start [/forum/topic.php?fid=58&msg=40129019&tid=2036681]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 262ms |
total: | 407ms |
0 / 0 |