标签打印机错误地打印itextsharp文档

时间:2012-10-11 17:08:59

标签: c# itextsharp

以下代码生成pdf文档:

using (FileStream fs = new FileStream("st.csv", FileMode.Open))
                {
                    using (StreamReader configFile = new StreamReader(fs, System.Text.Encoding.GetEncoding("windows-1250")))
                    {
                        string line = string.Empty;

                        while ((line = configFile.ReadLine()) != null)
                        {
                            if (!string.IsNullOrEmpty(line))
                            {
                                line = line.Replace("\"", "");
                                string[] varible = line.Split(';');
                                string number = varible[0];
                                string stName = varible[1];
                                string ewidenceNumber = varible[2];
                                string fileName = "barcodes\\" + Encryption.RandomString(10, true) + ".png";

                                Generate(line, fileName);

                                PdfPTable Table = new PdfPTable(2);
                                Table.WidthPercentage = 100;
                                Table.SetWidths(new[] { 110f, 190f });
                                iTextSharp.text.Image barcode = iTextSharp.text.Image.GetInstance(fileName);
                                barcode.Border = 0;
                                barcode.ScalePercent(180f);
                                PdfPCell imageCell = new PdfPCell(barcode);
                                imageCell.VerticalAlignment = Element.ALIGN_MIDDLE;
                                Table.AddCell(imageCell);
                                PdfPCell descriptionCell = new PdfPCell(new Paragraph(
                                    "Enterprise 1 \n\n" +
                                    number + "\n\n" +
                                    "Number1:  " + stName + "\n\n" +
                                    "Number2:  " + ewidenceNumber, _standardFont));
                                descriptionCell.HorizontalAlignment = Element.ALIGN_CENTER;
                                descriptionCell.VerticalAlignment = Element.ALIGN_MIDDLE;
                                Table.AddCell(descriptionCell);
                                Table.KeepTogether = true;
                                Table.SpacingAfter = 10f;
                                doc.Add(Table);
                            }
                        }
                    }
                }

这就是问题:adobe acrobat中的纵向和横向视图显示正确,但是当我需要使用此信息打印标签时,CITIZEN标签打印机始终以水平视图打印。我无法调整此数据以正确的方向打印。有人解决这个问题吗?也许我错误地旋转表格中的单元格?

1 个答案:

答案 0 :(得分:1)

我建议您删除PDF,而是写入原始格式:http://www.citizen-europe.com/support/progman.htm

PDF打印支持由驱动程序提供。如果驱动程序不知道如何解释特定的PDF命令,那么它将不起作用。通常标签打印机不能提供非常好的驱动程序支持,除了写入其原生格式或模拟ZPL(zebra)和Datamax。