Отступы HTML документе

1. alex_bitti 98 29.06.23 15:51 Сейчас в теме
Здравствуйте, возникла необходимость установить отступы на странице html при печати без предварительного просмотра, возникла проблема.
Если делать типа так

Документ.body.style.marginTop = "40mm"


работает, но только 1 раз на первой странице, а требуется на каждой странице если их много

Вот так уже не работает, даже не присваивает,
Документ.body.style.page = ":left {margin: 3cm 1cm 1cm 1.5cm;}";


Есть ли у кого-нибудь опыт работы с html, документ это объект DOM
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. booksfill 29.06.23 16:40 Сейчас в теме
Попробуйте так:
@page
{
size: A4;
margin: 30mm 25mm 25mm 25mm;
}

body
{
margin: 0px;
}

Но, вообще-то я не понимаю, почему не воспользоваться настройками печати самого принтера.

Надеюсь понятно, что это все в тегах <st yle>
7. alex_bitti 98 30.06.23 08:52 Сейчас в теме
(2) да все понятно, но я знаю как установить верхнее поле всего документа, и нижнее с боковыми, а если у меня body при печати принтером бьется на 3 страницы? на принтере установить поля не вариант так как печать документа html предполагает большое верхнее поле, естественно при печати остального оно не надо. Параметры страницы в 1С очищаются после завершения сеанса.
8. booksfill 30.06.23 10:24 Сейчас в теме
(7)Т.е. @page не помогает? Вообще-то? именно этот стиль отвечает за настройку полей страниц, а не всего документа.
Вы точно пробовали?
10. alex_bitti 98 30.06.23 12:35 Сейчас в теме
(8) есть некоторые сложности с использованием конструкций чисто верстки html, поэтому вопрос именно в том как это сделать в рамках обьектов 1С, в частности шаблона html. @page просто некуда вставлять, так как эта синтаксическая конструкция НЕ обрабатывается 1С непосредственно перед командой печати, если у вас есть готовый фрагмент кода 1С, в качестве примера было бы интересно увидеть
3. VmvLer 29.06.23 16:53 Сейчас в теме
4. alex_bitti 98 29.06.23 16:56 Сейчас в теме
(3) уже видел не работает, кстати с этим и проблема, не сохраняются параметры печати, точнее сохраняются только в пределах сеанса работы, платформа 8.3.21.1775 проблема актуальна
5. Asgard90 30.06.23 02:53 Сейчас в теме
Присоединяюсь в вопросу... Работаете на УМЦ ?
6. alex_bitti 98 30.06.23 08:48 Сейчас в теме
9. alex_bitti 98 30.06.23 11:37 Сейчас в теме
(5) в качестве альтернативного решения
				ТекстHTML = ПолеДокумента.Документ.body.outerHTML;
				
				ФайлТекст = Новый ТекстовыйДокумент;
				ФайлТекст.УстановитьТекст(ТекстHTML);
				
				Путь = КаталогВременныхФайлов()+ "htmltext_"+Формат(ТекущаяДата()-Дата(2020,01,01), "ЧГ=0")+".html";  
				
				ФайлТекст.Записать(Путь,КодировкаТекста.UTF8,);
				
				
				Попытка 
					Word = Новый COMОбъект ("Word.Application");
					ThisDocument = Word.Documents.Open(Путь);
					Word.Visible = Ложь;
					//ThisDocument.PageSetup.Orientation  = 1;        
					ThisDocument.PageSetup.TopMargin    = 96;
					ThisDocument.PageSetup.RightMargin  = 25;
					ThisDocument.PageSetup.LeftMargin   = 25;
					ThisDocument.PageSetup.BottomMargin = 60;
					Word.Visible = Истина;
				Исключение
					
				КонецПопытки;
Показать
11. Asgard90 03.07.23 03:17 Сейчас в теме
Есть ещё встроенный функционал конвертера pdf им можно попробовать воспользоваться. Но неужели в настройках webkit'а нельзя это указать ? делал похожую тему, сделал запрос в оф.поддержку, везде тишина.. Просто раньше по умолчанию отступы расставлял IE...
12. alex_bitti 98 03.07.23 09:20 Сейчас в теме
(11) есть проблема с вариантом Word, не переносятся стили шрифты, выравнивание, все слетает, думаю можно решить это все перерисовкой html в word, но это время в нашем случае, также более серьезная проблема печатает все подряд, и клиентскую часть и для мед. карты, так что это полувариант, думаю также будет с конверторами pdf. Но поля при этом выставляются отлично)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот