Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696

Печать на принтер - Как рассчитать расположение элементов на странице?

13.01.2014, 01:44. Показов 2377. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Мне нужно организовать возможность печати бланка документа на принтере из приложения. Как рисовать на принтер я знаю. Но как рассчитать расположение элементов на странице? В программе всё рисуется пикселями, а на бумаге-то всё измеряется мерами длины. Как всё вместить и нормально расположить, чтоб влезть в лист бумаги?
Благодарю за внимание!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.01.2014, 01:44
Ответы с готовыми решениями:

Расположение элементов на странице
Всем привет! Ребята есть такая проблема: вот ссылка на страницу http://www.shop-ts.ru/neglige/product/view/93/810 не могу понять, как...

Расположение элементов на странице
Доброй ночи. Делаю свой первый сайт в качестве обучения. Читая литературу все кажется предельно ясно, но как только начинаешь что-то делать...

Расположение элементов на странице относительно друг друга
Здравствуйте, на странице html расположено несколько элементов и подключен для стилей элемента свой файл css, он указывает как отображаться...

12
26 / 26 / 10
Регистрация: 22.12.2013
Сообщений: 153
13.01.2014, 14:47
может, стоит попробовать что-то типа ReportingService?
1
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
13.01.2014, 15:36
body90, есть куча готовых компонентов для вывода на печать. Думаю, куда легче будет их использовать (если не принципиально).
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
14.01.2014, 00:30  [ТС]
Цитата Сообщение от Smems Посмотреть сообщение
есть куча готовых компонентов для вывода на печать
Можете что-то посоветовать?
Цитата Сообщение от Smems Посмотреть сообщение
если не принципиально
Принципиально, чтоб был бесплатным.
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
14.01.2014, 13:15
body90, ReportViewer
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
23.05.2014, 04:34  [ТС]
Снова всех приветствую!
Прошлый раз мне удалось обойти задачу с другой стороны и просто вывести все в текстовой форме. На данный момент это не выйдет сделать. И я ума не приложу, как решить поставленную задачу.
Клиент через определенный промежуток времени запрашивает новые данные с сервер и, если они есть, распечатывает. Это я к тому, что ничего отображать не нужно на экран.
Запрашиваемые данные - это номер заказа, адрес, телефон, ФИО, ... и DataTable с заказанными позициями.
Вверху листа нужно написать данные о заказчике в виде:
"Номер заказа: 123
Район: Центр
Телефон: +1234567890
...: ..."
После этого текста вставить табличку. И не факт, что она вместится на один лист.

Я уже неделю бьюсь, но ничего нормального не нашел: контроллов никаких не попалось; ReportViewer - это, скорее, построение отчетов жестко заданного формата для отображения на экране; вручную рисовать "палочками да кружочками" - можно с ума сойти.
У кого-то есть какие-то идеи, как можно поступить в данной ситуации? Уверен, что многие сталкивались с печатью и им приходилось не всегда выводить только пару строк текста.
Благодарю за внимание!
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
23.05.2014, 07:57
body90, вот это гляньте.
http://msdn.microsoft.com/ru-r... .110).aspx
1
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
23.05.2014, 09:37
Цитата Сообщение от body90 Посмотреть сообщение
вручную рисовать "палочками да кружочками" - можно с ума сойти.
Да нет, вполне себе просто, было бы желание)

Цитата Сообщение от body90 Посмотреть сообщение
Это я к тому, что ничего отображать не нужно на экран.
Технически разницы никакой, напишите отображение - будет печать и наоборот.
1
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
23.05.2014, 10:21
body90, можно в ворд форматировать , как надо , и выводить на печать , даже не отображая само приложение ворда
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
25.05.2014, 02:16  [ТС]
insite2012, печатать несколько страниц - не проблема. Проблема в форматирования. Как минимум, я не могу знать, где закончится одна строка, чтоб за ней начать следующую: "Номер телефона" нужно вывести полужирным, а сам номер обычным текстовом, а это означает, что одним вызовом функции рисования текста у края страницы не обойтись и нужно рассчитывать, где закончится предыдущая строка.
Если даже это посчитаю, то как быть с таблицой? Как там всё вписываться и обрезать?
Spawn, я это понимаю, но разницы нет, если рисовать вручную. А если использовать какой-то контроль, то он может отображать одно, а печатать другое.

Добавлено через 1 минуту
Metall_Version, а, разве, для этого не обязательно должен быть установлен Ворд на компьютере?
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
25.05.2014, 12:14
body90, смотря как с ним работать. Видел на просторах инструмент который позволяет "без"
1
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
25.05.2014, 14:24
Цитата Сообщение от body90 Посмотреть сообщение
а, разве, для этого не обязательно должен быть установлен Ворд на компьютере?
Собрать сам документ можно давно без самого Word, а вот с печатью немного сложнее, хотя и достаточно бесплатного просмотрщика, например, вместо полноценного офиса.
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
01.06.2014, 07:29  [ТС]
Химичу сейчас с ReportViewer. А в него можно как-то не из конструктора данные вбивать? У меня есть массив объектов класса с 3мя полями. Нужно его вывести табличкой.

Добавлено через 2 минуты
И ещё вопрос: как в ReportViewer делать Шапку отчета и его окончание? Вверху, перед таблицей, нужно вставить динамически получаемый текст, а после нее - сумму и дату.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2014, 07:29
Помогаю со студенческими работами здесь

Печать А3. Как настроить принтер
Принтер Xerox 5016, автокад 2010, win7-64bit Проблема при печати А3 из автокада. Выбирает почему то обходной лоток (который настроен...

как на js послать страничку с экрана на печать на принтер?
У меня на рнр написан киоск для выдачи талонов на прием к врачу, по сути дела в одном месте находится и сервер и пользователь, каким...

как на рнр послать файл на печать на принтер?
Пересмотрел много тем, но так и не нашел как автоматически рапечатывать текст из файла, удобнее из экселя. Считываю из экселя график работ...

Как из виртуальной Windows настроить печать через подсоединенный к компу принтер?
Как из виртуальной Винды настроить печать через подсоединенный к компу принтер?

Расположение на странице
Всем добрый вечер! Возник вопрос: как расположить два объекта на странице рядом? То есть, у нас есть таблица, кнопка и текст. Как...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru