小编Art*_*ous的帖子

如何在不使用PrinterSettings的情况下更改打印机的纸张尺寸?

我正在尝试对将在特殊介质上打印的自定义标签打印机进行编码。

使用600的DPI,打印介质大小约为2.00“ x 0.244”。下面是printLabel函数,带有传入的位图标签值。

您会看到我当前正在尝试自定义页面大小,但是打印机会打印出12个标签,只有1个具有我需要的信息。

我一次只需要打印1个标签。如果您需要更多信息或有疑问,请随时发表评论,但是我迷失了要做的事情。

我无法想象从Windows的打印机设置页面中获得了页面大小的枚举集合。任何帮助将不胜感激。

PrintServer ps = null;

        if (Properties.Settings.Default.ShrinkLabelPrinter.Contains(@"\\serverloc1") || Properties.Settings.Default.ShrinkLabelPrinter.Contains(@"\\SERVERLOC1"))
            ps = new PrintServer(@"\\serverloc1");
        else if (Properties.Settings.Default.ShrinkLabelPrinter.Contains(@"\\serverloc2") || Properties.Settings.Default.ShrinkLabelPrinter.Contains(@"\\SERVERLOC2"))
            ps = new PrintServer(@"\\serverloc2");
        else
            ps = new PrintServer();

        System.Windows.Controls.PrintDialog pd = new System.Windows.Controls.PrintDialog();

        PrintQueue queue = ps.GetPrintQueue(@"\\serverloc2\bbp33 (Copy 1)");

        List<string> lstPaperSizes = new List<string>();

        queue.CurrentJobSettings.CurrentPrintTicket.PageMediaSize = new PageMediaSize(PageMediaSizeName.Unknown, 150, 141);

        //queue.CurrentJobSettings.CurrentPrintTicket.PageMediaSize = ;

        pd.PrintQueue = queue;

        System.Drawing.Image img = label;

        //REMOVE IF LABELS ARE PORTRAIT FORMAT
        //img.RotateFlip(RotateFlipType.Rotate90FlipNone); 

        var ms = new MemoryStream();

        img.Save(ms, System.Drawing.Imaging.ImageFormat.Png); …
Run Code Online (Sandbox Code Playgroud)

c# printing size wpf

3
推荐指数
1
解决办法
3304
查看次数

标签 统计

c# ×1

printing ×1

size ×1

wpf ×1