如何在C#windows应用程序中添加打印机路径?

如何在C#windows应用程序中添加打印机路径?,c#,windows,printing,C#,Windows,Printing,我按照a教程的要求为我的申请打印收据。 我已经按照视频中的指导在设置中添加了打印机路径 我用于打印的功能。 private void printReciept() { try { Byte[] BytesValue = new Byte[] { }; BytesValue = GetLogo(@"../../Resources/Bil_Top.png&quo

我按照a教程的要求为我的申请打印收据。 我已经按照视频中的指导在设置中添加了打印机路径

我用于打印的功能。

private void printReciept()
        {
            try
            {
                Byte[] BytesValue = new Byte[] { };
                BytesValue = GetLogo(@"../../Resources/Bil_Top.png");   // loading logo
               
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.CharSize.Nomarl());
                // adding Bill details
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("----------------------------------------------------------------\n"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1,-20}{2,-12}{3,-20:N2}\n", "BillID:", BillIDBox.Text, "Date:", DateBox.Text));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1,-20}{2,-12}{3,-20:N2}\n", "Person ID:", PersonIDBox.Text, "Contact:", ContactTextBox.Text));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1,-30:N2}\n", "Name:", NameTextBox.Text));
                // formating address 
                if((AddressBox.Text).Length<52)
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1,"+(AddressBox.Text).Length+":N2}\n", "Address:", AddressBox.Text));
                else
                {
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1,52:N2}\n", "Address:", AddressBox.Text.Substring(0, 52)));
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-12}{1," + ((AddressBox.Text).Length-52) + ":N2}\n", "", AddressBox.Text.Substring(52, ((AddressBox.Text).Length - 52))));
                }
                // adding products info
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("----------------------------------------------------------------\n"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-35}{1,8}{2,6}{3,15:N2}\n", "Name", "Qty", "Dis.", "Price"));
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("----------------------------------------------------------------\n"));
                Decimal T_Qty = 0;
                for (int i = 0; i < ProductNum; ++i)
                {
                    T_Qty += Decimal.Parse(ProductArray[i, 4]);
                    BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-35}{1,8}{2,6}{3,15:N2}\n", ProductArray[i, 1], ProductArray[i, 4], ProductArray[i, 3], float.Parse(ProductArray[i, 2])));
                }
                BytesValue = PrintExtensions.AddBytes(BytesValue, Encoding.ASCII.GetBytes("----------------------------------------------------------------\n"));
               
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-35}{1,8}{2,6}{3,15:N2}\n", "Total", Decimal.Round(T_Qty, 2), TotalDiscountBox.Text, TotalBillBox.Text));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-49}{1,15:N2}\n", "Payable Bill", float.Parse(PayableBox.Text)));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-49}{1,15:N2}\n", "Amount Paid", PaidBox.Text));
                BytesValue = PrintExtensions.AddBytes(BytesValue, string.Format("{0,-49}{1,15:N2}\n", "Balance", float.Parse(PayableBox.Text)-float.Parse(PaidBox.Text)));
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Separator());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Lf());
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Center());  // resetting printer settings
                
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.QrCode.Print(BillIDBox.Text, PrinterUtility.Enums.QrCodeSize.Grande));
                BytesValue = PrintExtensions.AddBytes(BytesValue, "\n----------------- Thankyou For Shoping With US -----------------\n");
                BytesValue = PrintExtensions.AddBytes(BytesValue, obj.Alignment.Left());
                BytesValue = PrintExtensions.AddBytes(BytesValue, CutPage());
                // printing bill
                PrinterUtility.PrintExtensions.Print(BytesValue, POS_Project.Properties.Settings.Default.PrinterPath);
            }
            catch (Exception e)
            {
                MessageBox.Show("Cannot Print beacuse " + e.Message);
            }


        }

private void printrecept()
{
尝试
{
字节[]字节值=新字节[]{};
BytesValue=GetLogo(@.../../Resources/Bil_Top.png”);//正在加载徽标
BytesValue=PrintExtensions.AddBytes(BytesValue,obj.Alignment.Left());
BytesValue=PrintExtensions.AddBytes(BytesValue,obj.CharSize.Nomarl());
//添加账单明细
BytesValue=PrintExtensions.AddBytes(BytesValue,Encoding.ASCII.GetBytes(“----------------------------------------------------------------------------------------\n”);
BytesValue=PrintExtensions.AddBytes(BytesValue,string.Format(“{0,-12}{1,-20}{2,-12}{3,-20:N2}\n”,“BillID:”,BillIDBox.Text,“Date:”,DateBox.Text));
BytesValue=PrintExtensions.AddBytes(BytesValue,string.Format(“{0,-12}{1,-20}{2,-12}{3,-20:N2}\n”,“个人ID:”,PersonIDBox.Text,“联系人:”,ContactTextBox.Text));
BytesValue=PrintExtensions.AddBytes(BytesValue,string.Format(“{0,-12}{1,-30:N2}\n”,“Name:”,NameTextBox.Text));
//格式化地址

如果((AddressBox.Text).lengths根据指南,在使用本网站之前请阅读指南,请不要发布代码的图像。代码是文本。将其粘贴为图形是非常不切实际的,因为它无法复制、搜索、在答案中重复使用等。这会使那些可能想帮助您的人感到困难。请编辑您的问题,将代码作为文本包含在内并使用来很好地展示它,以便对那些想要帮助你的人有用。谢谢我编辑了这篇文章,检查它是否可以理解。谢谢你指导我@adysonsanks,它好多了。你的打印机路径看起来有点奇怪。通常UNC路径是
\\server\share
,而你也有
\\\server\\share
多次反斜杠。我尝试了此操作,但再次出现错误:“未找到打印机路径”@Adysoni此代码是在您的计算机上运行还是在某个服务器上运行?您是否检查过此路径是否确实可以访问?根据指南(鼓励您在使用网站之前阅读),请不要发布代码的图像。代码是文本。将其粘贴为图形是非常不切实际的,因为它无法复制、搜索或在answe中使用rs等。这让那些可能想帮助你的人很难理解。请编辑你的问题,将代码作为文本包含在内,并使用以很好地呈现它,以便对那些想帮助你的人有用。谢谢。我编辑了这篇文章,检查它是否可以理解。谢谢你指导我@adysonsanks,它好多了。你的打印机路径看起来很好有点奇怪。通常UNC路径是
\\\server\share
,而您有
\\\\server\\share
。反斜杠太多。我尝试了此操作,但再次出现错误:“未找到打印机路径”@adysoni此代码是在您的计算机上运行的还是在某个服务器上运行的?您是否检查过此路径是否确实可以访问?