实施计划设置

时间:2017-05-16 05:56:34

标签: c# winforms printing

我制作了一个小型的c#winforms程序,其中包括打印条形码。在某些运行的客户端计算机上,其他一些用于打印条形码的软件会覆盖我打印条形码的设置,并且只会调整条形码的大小。

如果我只更改了该机器的代码,它可以重新定位图像(使其缩小),或者将图像拉得太宽以至于切断三分之一。目前我只使用打印设置将边距设置为0并在打印对话框中将纸张模式设置为横向,并且图像尺寸在打印过程中是固定的(我使用了常量)。下面是用户单击打印按钮时的代码,以及在其外部定义的两个常量。

    const int barcodeX = 570;
    const int barcodeY = 135;

    private void Print_Click(object sender, EventArgs e)
    {
        DocPrint.DocumentName = "Document";
        elements = 0;
        PrintDialog.Document = DocumentDrucker;     

        DocPrint.DefaultPageSettings.Landscape = true;
        DocPrint.DefaultPageSettings.Margins.Top = 0;
        DocPrint.DefaultPageSettings.Margins.Left = 0;
        DocPrint.DefaultPageSettings.Margins.Right = 0;
        DocPrint.DefaultPageSettings.Margins.Bottom = 0;

        //DocumentDrucker.OriginAtMargins = false;

        if (PrintDialog.ShowDialog() == DialogResult.OK)
            DocPrint.Print();
    }

在打印过程中编码和打印条形码的行。条形码是条形码放置在纸上的位置。

b.Encode(TYPE.CODE128A, "SBD" + currentItem.Text.Substring(0, 3) + currentItem.Text.Substring(4), Color.Black, Color.Transparent, barcodeX, barcodeY);
graphic.DrawImage(b.EncodedImage, barcodePoint);

程序在任何其他情况下运行正常,所以我发现了问题,我只是不知道如何绕过其他软件的设置。我已经重新安装了打印机的驱动程序(没有成功),以及在同一台计算机上以不同的用户身份登录,这使我的程序工作。所以它与安装在它上面的软件有关,我只是不知道是什么。 起初我认为这是驱动程序和操作系统的问题,但我在其他计算机上尝试过,它也运行良好。该问题仅存在于使用该软件的计算机上。

有没有办法让我的程序强制它为条形码图像打印设置,因为机器上安装的软件总是使用它自己的设置?或者确保我的代码中的设置不会更改?

卸载软件不是一种选择,因为它用于其他过程。

编辑:我从我的用户登录(没有软件)和目标机器用户(都在同一台机器上)运行程序。两种情况下的设置都相同,唯一不同的是在目标机器上安装了软件。有哪些方法可以确保我的设置被强制执行,而不是X程序覆盖它们?

0 个答案:

没有答案