Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Предварительный просмотр и печать многостраничного документа в .net

319
18 января 2004 года
xelos
577 / / 27.02.2003
Вобщем, нет тут форума посвященного .NET, поэтому пишу здесь.
Есть проект на VB.NET - проект коннектится к бд Access через ADO.NET. Проблема в следующем, хочу распечатать многостраничный документ.
Для этого кидаю компонент DocumentPrint, в его обработчике Print_Page формирую документ на печать из запросов к бд. Если вывожу все это на принтер - все работает как надо (все отлично печатает на несколько страниц). Теперь хочу сделать еще и предварительный просмотр. Для этого кидаю компонент PrintPreviewDialog - цепляю к нему мой PrintDocument, по какой-то кнопке показываю PrintPreviewDialog. В окне просмотра - все отображается отлично (на несколько страниц), однако при нажатии на печать - на принтере выдается только часть информации, сформированной в PrintDocument(последние строки) и всегда печатается только одна страница.
При формировании многостраничного документа используется параметр HasMorePages - так вот если он с самого начала установлен в false - т.е. типа одностраничный документ - все работает без проблем, а вот если он устанавливается в true, то возникает вышеуказанная проблема - в окне предварительного просмотра или при печати напрямую (без вызова диалога предварительного просмотра) он разбивает документ на страницы, а при печати из диалога - он только показывает разбивку на экране, а на принтере ее не выполняет.
266
19 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by xelos
Вобщем, нет тут форума посвященного .NET, поэтому пишу здесь.
Есть проект на VB.NET - проект коннектится к бд Access через ADO.NET. Проблема в следующем, хочу распечатать многостраничный документ.
Для этого кидаю компонент DocumentPrint, в его обработчике Print_Page формирую документ на печать из запросов к бд. Если вывожу все это на принтер - все работает как надо (все отлично печатает на несколько страниц). Теперь хочу сделать еще и предварительный просмотр. Для этого кидаю компонент PrintPreviewDialog - цепляю к нему мой PrintDocument, по какой-то кнопке показываю PrintPreviewDialog. В окне просмотра - все отображается отлично (на несколько страниц), однако при нажатии на печать - на принтере выдается только часть информации, сформированной в PrintDocument(последние строки) и всегда печатается только одна страница.
При формировании многостраничного документа используется параметр HasMorePages - так вот если он с самого начала установлен в false - т.е. типа одностраничный документ - все работает без проблем, а вот если он устанавливается в true, то возникает вышеуказанная проблема - в окне предварительного просмотра или при печати напрямую (без вызова диалога предварительного просмотра) он разбивает документ на страницы, а при печати из диалога - он только показывает разбивку на экране, а на принтере ее не выполняет.


Сталкивался с подобным при работе с Cristal Report. У тебя что извлекается из БД? Текст, или картинка? Попробуй, если что, не непосредственно из запроса печатать, а сохранять в какой-либо буфер, и принтить из него. У меня с "Кристалом" другая беда была - наоборот из буфера неверно печатал (там я хранил картинку).

319
19 января 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by mhaturov

Сталкивался с подобным при работе с Cristal Report. У тебя что извлекается из БД? Текст, или картинка? Попробуй, если что, не непосредственно из запроса печатать, а сохранять в какой-либо буфер, и принтить из него. У меня с "Кристалом" другая беда была - наоборот из буфера неверно печатал (там я хранил картинку).


текст из бд извлекается.
но документ на печать я сам формирую.
Я уже подумываю о том, чтобы самому реализовать диалог предварительного просмотра...

266
20 января 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by xelos

текст из бд извлекается.
но документ на печать я сам формирую.
Я уже подумываю о том, чтобы самому реализовать диалог предварительного просмотра...


Ну как, справился?:P

319
20 января 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by mhaturov

Ну как, справился?:P


Счас срочно на другой проект перебросили :) VC++ forever, к VB.NET вернемси попозже.

319
22 января 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by mhaturov

Ну как, справился?:P


сделал я этот диалог предварительного просмотра, всего 3 кнопочки - печать, просмотр следующей страницы, просмотр предыдущей страницы... печать теперь явно из основной формы вызываю : PrintDocument.Print() все равно такая же фигня получается :( похоже где-то проблемы при формировании документа :(:(:(

319
22 января 2004 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by xelos

сделал я этот диалог предварительного просмотра, всего 3 кнопочки - печать, просмотр следующей страницы, просмотр предыдущей страницы... печать теперь явно из основной формы вызываю : PrintDocument.Print() все равно такая же фигня получается :( похоже где-то проблемы при формировании документа :(:(:(


все разобрался, из моего диалога все печатает :) "проблема" была при формировании документа, но как заставить корректно работать стандартный диалог - хз.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог