Размер страницы 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 не является альбомной ориентацией, а не портретной?