Member 12926744 Ответов: 0

Размер страницы Pdf изменяется во время печати на чек


Всем Привет,
Я создал pdf-форму для печати чека с помощью веб-приложения.Форма печатается правильно на бумаге формата А4.Но при печати бланка на чек размером 20*10 см (ширина*высота) полное выравнивание меняется.Я установил размер бумаги, но во время печати размер бумаги меняется.
Кто-нибудь может мне помочь, пожалуйста.Любая помощь будет очень признательна.Заранее спасибо

Что я уже пробовал:

PdfDocument pdf = new PdfDocument();
               PdfPage pdfPage = pdf.AddPage();

               pdfPage.TrimMargins.Top = 0;
               pdfPage.TrimMargins.Right = 0;
               pdfPage.TrimMargins.Bottom = 0;
               pdfPage.TrimMargins.Left = 0;
               pdfPage.Width = XUnit.FromInch(8);
               pdfPage.Height= XUnit.FromInch(4);
               pdfPage.Orientation = PageOrientation.Portrait;
               XGraphics graph = XGraphics.FromPdfPage(pdfPage);
               XFont font = new XFont("Verdana", 10, XFontStyle.Regular);

               graph.DrawString(date1, font, XBrushes.Black,
               new XRect(6.259843 * 72, 0.590551 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);

               graph.DrawString(provider, font, XBrushes.Black,
               new XRect(1.69291 * 72, 1.22047 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);

               graph.DrawString("***" + premium + "***", font, XBrushes.Black,
              new XRect(6.181102 * 72, 2.08661 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);

               if (countSpaces >= 9)
               {
                   var firstSpaceIndex = PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ", PremiumInWords.IndexOf(" ") + 1) + 1) + 1) + 1) + 1) + 1) + 1);
                   var firstString = PremiumInWords.Substring(0, firstSpaceIndex);
                   var secondString = PremiumInWords.Substring(firstSpaceIndex + 1);
                   graph.DrawString("***" + firstString, font, XBrushes.Black,
              new XRect(0.984252 * 72, 1.73228 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);
                   graph.DrawString(secondString + "***", font, XBrushes.Black,
             new XRect(0.590551 * 72, 2.16535 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);


               }
               else
               {

                   graph.DrawString("***" + PremiumInWords + "***", font, XBrushes.Black,
                  new XRect(0.984252 * 72, 1.73228 * 72, pdfPage.Width.Point, pdfPage.Height.Point), XStringFormats.TopLeft);

               }
               MemoryStream stream = new MemoryStream();
               pdf.Save(stream, false);
               Response.Clear();
               Response.ContentType = "application/pdf";
               Response.AddHeader("Content-Disposition", string.Format("inline;filename=Schedule-{0}.pdf", No));
               Response.BinaryWrite(stream.ToArray());
               Response.Flush();
               stream.Close();
                Response.End();

           }

Peter_in_2780

Разве ваш чек 20х10 не является альбомной ориентацией, а не портретной?

0 Ответов