Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 0
Регистрация: 08.01.2018
Сообщений: 18

При печати отступ с права задаю == 0, а на деле около сантиметра получается

28.10.2024, 23:18. Показов 1250. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В обработчике QueryPageSettings задаю

C#
1
e.PageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
Печатаю строки. Строки длинные. На страницу по ширине не влезают. В цикле с помощью MeasureString(string, Font) делю строку на подстроки так, чтобы их длины были меньше ev.MarginBounds.Width. ev - это параметр обработчика PrintPage. Всё вроде правильно, но почему-то справа получается поле около сантиметра, а не должно быть - я же задал ноли Может кто-нибудь знает как с этим бороться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2024, 23:18
Ответы с готовыми решениями:

Почему, когда задаю padding и margin отступ происходит у соседнего элемента, а не у того, которому задаю?
p.author{ font-size: 20px; font-weight: bold; float: left; border-bottom: 2px solid $gray; padding:5px; ...

Отступ при печати на Custom tg2480h
вопрос по принтеру custom tg2480h. отступ убрал слева. ширина печати стоит 80 мм когда печатаю вручную картинку то печатает по всей ширине...

Как уменьшить отступ при печати страницы?
Доброе время суток! Как уменьшить отступ при печати страницы? Создаю форму для печати. распечатываю и получаетася межстрочный...

4
18 / 17 / 3
Регистрация: 07.09.2015
Сообщений: 301
31.10.2024, 19:26
Может есть ещё свойство Panding?
0
 Аватар для roach1967
984 / 464 / 234
Регистрация: 27.06.2014
Сообщений: 1,035
01.11.2024, 07:08
bpyotr, через средства самого шарпа, видимо никак. Для пробы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
 
namespace WindowsFormsApp9
{
    public partial class Form1 : Form
    {
        private string txtPrint = "";
        public Form1()
        {
            InitializeComponent();
        }
 
        void PrintPageHandler(object sender, PrintPageEventArgs e)
        {
            e.Graphics.DrawString(txtPrint, new Font("Arial", 8), Brushes.Black, 0, 0);
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            txtPrint = "строка 1\n\nстрока 2\nстрока 3\nстрока 4";
            PrintDocument document = new PrintDocument();
            document.PrintPage += PrintPageHandler;
            document.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
 
            PrintDialog dialog = new PrintDialog
            {
                Document = document
            };
 
            label1.Text = txtPrint;
            label1.Text += "\n--------------------------------------------------\n\n";
            label1.Text += $"{document.DefaultPageSettings.PrintableArea}\n"; // только чтение
            label1.Text += $"{document.DefaultPageSettings.Bounds}\n"; // только чтение
            label1.Text += $"{document.DefaultPageSettings.Margins}\n"; // не позволяет задавать отрицательные значения
 
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                dialog.Document.Print();
            }
        }
    }
}
выдаёт такую инфу:

P.S. Однако, если печатать в PDF файл, то границы нулевые, и тогда можно отправлять PDF на печать (без масштабирования). Но самый край (где-то ~4мм) не выводятся на печать.
0
2 / 2 / 0
Регистрация: 08.01.2018
Сообщений: 18
24.11.2025, 02:57  [ТС]
В MeasureString надо задавать StringFormat. Тогда всё в порядке.
2
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
24.11.2025, 07:05
bpyotr,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.11.2025, 07:05
Помогаю со студенческими работами здесь

Как уменьшить отступ сверху при печати?
Доброе время суток! Как уменьшить отступ сверху при печати? Создаю форму в дизайнере для печати. Открываю её в клиенте, распечатываю...

Все компоненты загружены около 60%, но при этом игра выдает около 20 FPS
У меня ноутбук Lenovo 320 15 abr. ЦП: AMD a10 9620p, Видеокарта: 1. Radeon r5 graaphics, 2. Radeon R7 m400. ОЗУ 6 Гб, DRAM 960 Mhz. ...

При печати выходит ошибка печати принтера, помогает только перезапуск диспетчера печати
Win 11 оригинальный образ Canon i-SENSYS MF3010, часто при печати выходит ошибка печати принтера, помогает только перезапуск диспетчера...

Убрать отступ c права bootstrap 3 - HTML, CSS
Подскажите пожалуйста как убрать отступ с права внутри контейнера. Спасибо. <!DOCTYPE html> <html...

Правый отступ body, не получается
пожалуйста, подскажите. как мне добиться, чтобы правый и левый отступы от содержимого документа у меня в трёх браузерах равнялись 30px? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru