2013-10-11 4 views
0

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

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

Если это имеет значение, все мои элементы управления содержатся в форме2, и печать будет выполняться с помощью кнопки menustrip в форме2.

Спасибо!

ответ

2

PrintDocument - это путь. Он использует GDI+ для рисования на поверхности документа. Теперь вы отвечаете за макет.

private void pd_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) 
    { 
    single yPos = 0; 
    int count = 0; 
    single leftMargin = e.MarginBounds.Left; 
    single topMargin = e.MarginBounds.Top; 
    Image img = Image.FromFile({path to img}); 
    Rectangle logo = New Rectangle(40,40,50,50); 
    using (Font printFont = new Font("Arial", 10.0f)) 
    { 
    e.Graphics.DrawImage(img, logo); 
    e.Graphics.DrawString(textbox1.Text, printFont, Brushes.Black, leftMargin, yPos, New StringFormat()); 
    } 
    //etc... 
    //taken from the example and added how to draw the text from a textbox 
    } 
+0

Спасибо! Как я могу добавить, скажем, простой текстовый блок для моего документа для печати? Я не вижу примеров добавления элементов управления в ссылку, выделенную – Nathan

+0

@ user2856410 Вы не можете «добавить» текстовое поле. Вы можете нарисовать текст на поверхности в произвольном положении. –

+0

Могу ли я также добавить изображение? – Nathan

Смежные вопросы