Печать panel c#

271
17 августа 2017, 19:55

Нужно распечатать приходно-кассовый ордер. взял панель, присвоил ей bg-image и задал ей размеры листа А4. в месте где нужны значения сделал Label'ы.

вывожу на печать с помощью кода

    private void toolStripSplitButton1_ButtonClick(object sender, EventArgs e)
    {
        printDocument1.Print();
    }
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        printDocument1.DefaultPageSettings.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);
        var bitmap = new Bitmap(panel1.Width, panel1.Height);
        panel1.DrawToBitmap(bitmap, new Rectangle(panel1.Location, bitmap.Size));
        e.Graphics.DrawImage(bitmap,new Point(0,0));
    }

вот результат.

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

Answer 1

чтобы всё работало как надо, необходимо поменять это:

    panel1.DrawToBitmap(bitmap, new Rectangle(panel1.Location, bitmap.Size));

на

    panel1.DrawToBitmap(bitmap, new Rectangle(Point.Empty, bitmap.Size));

т.е. рисовать от начала координат.

Answer 2

Но в итоге я отказался от этого.

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

READ ALSO
Отправить post запрос с получением куки

Отправить post запрос с получением куки

Доброго времени суток, знатоки! Сделала авторизацию с сессией на php, в приложении пытаюсь отправить post запрос на сервер, для авторизацииПодскажите,...

186
Сравнение двух .txt

Сравнение двух .txt

Есть 1txt и 2

200
Программно привязать/указать/изменить Script в Unity

Программно привязать/указать/изменить Script в Unity

Довольно недавно начал изучать UnityВсё шло довольно ровно и хорошо, пока не случилось это

239
DDD Одна Машина и разные модели

DDD Одна Машина и разные модели

Исходные условия: - У нас есть класс измерительного прибора (MeasureDevice)MeasureDevice является сущностью

215