我正在尝试对将在特殊介质上打印的自定义标签打印机进行编码。
使用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)