如何在使用c#打印标签时使用完整空间

时间:2016-01-21 09:55:27

标签: c# printing label

image我想使用c#应用程序将数据打印到标签。我为同样的目的创建了应用程序。由于标签中的空间有限,我需要使用可用的全部空白区域。

这里我附上了窗口和打印预览中显示的数据的两张图片。在打印预览中,显示两侧的空白都消失了。但是在标签中打印后,两端都有空间。

有没有办法使用完整的空间。

我使用的代码如下所示。

    public PrintPreviewExt()
    {
        InitializeComponent();
    }

    [System.Runtime.InteropServices.DllImport("gdi32.dll")]
    public static extern long BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
    private Bitmap memoryImage;

    private void PrintScreen()
    {
        Graphics mygraphics = this.CreateGraphics();
        Size s = this.Size;
        memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
        Graphics memoryGraphics = Graphics.FromImage(memoryImage);
        IntPtr dc1 = mygraphics.GetHdc();
        IntPtr dc2 = memoryGraphics.GetHdc();
        BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);
        mygraphics.ReleaseHdc(dc1);
        memoryGraphics.ReleaseHdc(dc2);
    }
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(memoryImage, 0, 0);
    }

    private void print_Click(object sender, EventArgs e)
    {
        print.Visible = false;
        PrintScreen();
        printPreviewDialog1.ShowDialog();
        this.Hide();
    }

0 个答案:

没有答案