Установите поля страницы с помощью iTextSharp - PullRequest
17 голосов
/ 11 февраля 2012

У меня есть файл шаблона PDF, в который встроено поле формы PDF. Я использую PdfStamper для заполнения этих полей. Кроме того, я хотел бы иметь возможность изменять поля для сгенерированного PDF. Можно ли как-нибудь изменить поля страницы в PDF-файле с печатью?

Ответы [ 3 ]

21 голосов
/ 07 ноября 2013

Вы можете сделать все это в одну строку.

Document doc = new Document(PageSize.LETTER, 0f, 0f, 0f, 0f );
14 голосов
/ 17 февраля 2012

Единственный известный мне способ - вот так.

iTextSharp.text.Rectangle rec = new iTextSharp.text.Rectangle(pageWidth, pageHeight); 
Document doc = new Document(rec); 
doc.SetMargins(0f, 0f, 0f, 0f);

Однако это также ограничит поля

0 голосов
/ 31 марта 2015

setMaring выполняется как




    public override bool SetMargins(float marginLeft, float marginRight, float marginTop, float marginBottom)
            {
                if ((this.writer != null) && this.writer.IsPaused())
                {
                    return false;
                }
                this.nextMarginLeft = marginLeft;
                this.nextMarginRight = marginRight;
                this.nextMarginTop = marginTop;
                this.nextMarginBottom = marginBottom;
                return true;
            }

, поэтому на следующей странице применяется поле.для решения этой проблемы после вызова pdfDocument вызовите newPage () это решение работает для пустого pdfDocument.



    using (FileStream msReport = new FileStream(pdfPath, FileMode.Create))
            {
                using (Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 10f))
                {
                    try
                    {
                        //open the stream 
                        pdfDoc.Open();
                        pdfDoc.setMargin(20f, 20f, 20f, 20f);
                        pdfDoc.NewPage();

                        pdfDoc.Close();

                    }
                    catch (Exception ex)
                    {
                        //handle exception
                    }

                    finally
                    {


                    }

                }

            }

...