在C#中的Brother打印机上打印标签时更改纸张尺寸

时间:2018-10-04 10:54:06

标签: c# winforms printing page-size

我有一台Brother PT9800PCN,它使用6毫米至36毫米的胶带打印标签。

在Windows Form App中,我具有各种按钮,单击这些按钮应将特定文件(pdf)打印到打印机。根据文件,需要不同的磁带。尺寸是使用我在其中指定所需尺寸的文本框中的值获取的。

我的问题是,当我指定页面大小时,它会根据默认设置在打印机首选项中设置的内容进行打印。

我已将打印机首选项设置为18毫米大小的胶带和50毫米长度的

我在打印机中安装了24毫米胶带,并用代码将页面尺寸设置为24x50毫米。

当我单击以打印时,打印机闪烁红色,表明我安装了错误尺寸的胶带。

在打印机设置中,我还用不同的名称保存了一些自定义尺寸。

尝试将RawKind设置为0并高于119,没有运气。

        PdfiumViewer.PdfDocument pdfiumDoc = PdfiumViewer.PdfDocument.Load(file);
        PrintDocument pd = pdfiumDoc.CreatePrintDocument(PdfiumViewer.PdfPrintMode.CutMargin);
        pd.PrinterSettings.PrinterName = comboPrinters.SelectedItem.ToString();
        pd.PrinterSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
        pd.PrinterSettings.DefaultPageSettings.Landscape = true;
        pd.PrinterSettings.DefaultPageSettings.PaperSize.RawKind = 0;
        //pd.PrinterSettings.DefaultPageSettings.PaperSize.PaperName = "customSize";
        pd.PrinterSettings.DefaultPageSettings.PaperSize = new PaperSize("customSize", (int)Math.Round((double)Convert.ToInt32(textBox1.Text) * 500 / 127), (int)Math.Round((double)Convert.ToInt32(textBox2.Text) * 500 / 127));
        pd.Print();

0 个答案:

没有答案