Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/79: Рейтинг темы: голосов - 79, средняя оценка - 4.61
2 / 2 / 2
Регистрация: 11.03.2012
Сообщений: 23
1

Печать через PrintDialog и PrintDocument: печатается пустой лист

03.05.2012, 18:06. Показов 14567. Ответов 4
Метки нет (Все метки)

Вобщем дело в том, что при выводе на печать принтер прогоняет пустой лист и все, а содержимое из textBox не печатает!
вот мой код:
C#
1
using System.Drawing.Printing;
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private StringReader m_myReader;
        private uint m_PrintPageNumber;
private void MenuFilePrint()
        {
            m_PrintPageNumber = 1;
            string strText = this.textBox1.Text;
            m_myReader = new StringReader(strText);
            Margins margins = new Margins(100, 50, 50, 50);
            printDocument1.DefaultPageSettings.Margins = margins;
            if (printDialog1.ShowDialog() == DialogResult.OK)
            { 
                 this.printDocument1.Print(); 
            }
            m_myReader.Close();
        }
 
        private void печатьToolStripMenuItem_Click_1(object sender, EventArgs e)
        {
            MenuFilePrint();
        }
Помогите с проблемой очень сильно нужно! или предложите альтернативу
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2012, 18:06
Ответы с готовыми решениями:

Печать текста с помощью PrintDialog
Как при помощи PrintDialog распечятать содрежимое richTextBox

Как задать по умолчанию в окне PrintDialog альбомную печать ?
Как задать по умолчанию в окне PrintDialog альбомную печать ?

Отоправить файл на печать через PrintDialog
Можете пожалуйста подсказать как можно отправить файл на печать через printDialog или что небудь...

Печать DataGridView с помощью PrintDocument
День добрый, есть DataGridView который нужно распечатать, мои попытки привели к печати всего окна....

4
2 / 2 / 2
Регистрация: 11.03.2012
Сообщений: 23
05.05.2012, 17:14  [ТС] 2
Люди что никто незнает как сделать эту печать чтоли?!
0
59 / 59 / 7
Регистрация: 07.12.2009
Сообщений: 324
08.05.2012, 16:04 3
Не буду создавать туже тему проблема аналогична только печатаю документ выходит пустой лист
C#
1
2
3
4
5
6
7
8
9
way =@"C:\2.docx"; // вариант way ="C:\\2.docx" пробовал тот же результат
PrintDialog printDlg = new PrintDialog();
PrintDocument printDoc = new PrintDocument();
printDoc.DocumentName = way;
printDlg.Document = printDoc;
printDlg.AllowSelection = true;
printDlg.AllowSomePages = true;
if (printDlg.ShowDialog() == DialogResult.OK)
        printDoc.Print();
P.s. если документ отсутствует по указанному пути все равно идет печать пустого документа
подскажите что не так . Обычная печать документа работает.
0
66 / 59 / 17
Регистрация: 03.12.2010
Сообщений: 366
12.06.2012, 15:36 4
Я сделал программу, которая выводит на печать из panel .
На panel у меня находятся лейблы и при определённых действиях они изменяют своё значение...типо провожу расчёты и там появляются цифры...но суть не в этом...скидываю код который помог мне распечатать всё, что находится на panel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void button3_Click(object sender, EventArgs e)
        {
            printDocument1.Print();
        }
 
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Size oldsize = panel1.Size;
            while (panel1.HorizontalScroll.Visible)
                panel1.Size = Size.Add(panel1.Size, new Size(1, 0));
            while (panel1.VerticalScroll.Visible)
                panel1.Size = Size.Add(panel1.Size, new Size(0, 1));
 
            Bitmap bmp = new Bitmap(this.panel1.ClientRectangle.Width, this.panel1.ClientRectangle.Height);
            this.panel1.DrawToBitmap(bmp, panel1.ClientRectangle);
            e.Graphics.DrawImageUnscaled(bmp, Point.Empty);
            panel1.Size = oldsize;
        }
баттон3 это кнопка "Печать", для того чтобы ещё вывести на печать надо закинуть на панель printDocument и printPreviewDialog удачи в печати))) хДДД
0
250 / 162 / 14
Регистрация: 10.03.2012
Сообщений: 544
12.06.2012, 22:18 5
Midnayt,
The DocumentName property does not specify the file to print. Rather, you specify the output to print by handling the PrintPage event. For an example, see the PrintDocument class overview.
Указывая в свойстве DocumentName имя файла, Вы НЕ отправляете этот файл на печать, а лишь показываете пользователю в диалоговых окнах, что он "типа" распечатывает этот файл.

Чтобы распечатать файл, нужно обработать событие PrintPage. Т. е. нужно открыть файл, считать его содержимое и затем вывести на печать.
Примерчик здесь: http://msdn.microsoft.com/en-u... ument.aspx
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2012, 22:18

PrintDocument, PrintPreviewDialog - вывод содержимого формы на печать
Здравствуйте. Нашёл код вывода DataGridView на печать, но не могу полностью разобраться. Прошу...

PrintDialog печать изображений
Как вывести на печать одну или несколько картинок bitmap с помощью PrintDialog? Добавлено через...

Печать StringGrid с использованием PrintDialog
Подскажите пожалуйста как напечатать StringGrid с помощью PrintDiflog? Или может быть лучше...

Печать из Memo используя PrintDialog
Как можно реализовать подобное?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.