1

下面的代码生成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 标签打印机总是以水平视图打印。我无法调整这些数据以正确方向打印。有人有这个问题的解决方案吗?也许我错误地旋转了表格中的单元格?

4

1 回答 1

1

我建议您放弃 PDF 并改为使用其原生格式:http ://www.citizen-europe.com/support/progman.htm

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

于 2012-10-11T17:27:45.030 回答