Как удалить верхнее поле по умолчанию в документе PDF с помощью itextsharp? - PullRequest
7 голосов
/ 11 октября 2010

Я пытаюсь заставить мой pdf-документ начинаться с (0,0), однако кажется, что у объекта документа есть верхнее поле по умолчанию, которое я не могу установить на 0. Есть ли способ сделать это?

Мой код выглядит следующим образом

        using (MemoryStream memoria = new MemoryStream())
        {
            Document pdf = new Document(new Rectangle(288, 144));

            try
            {
                PdfWriter writer = PdfWriter.GetInstance(pdf, memoria);

                pdf.Open();
                pdf.SetMargins(0, 0, 0, 0);

                PdfPTable tPrincipal = new PdfPTable(2);            
                tPrincipal .WidthPercentage = 100;           
                tPrincipal .DefaultCell.Border = 0;
                tPrincipal .TotalWidth = 288f;
                tPrincipal .LockedWidth = true;

....

Я просто не могу установить верхнее поле равным 0. Его просто не волнует мой параметр на(0,0,0,0) и оставляет верхнее поле (около 50f).

Ответы [ 2 ]

14 голосов
/ 11 октября 2010

Вам необходимо установить поля в конструкторе документов, например:

Document pdf = new Document(new Rectangle(288f, 144f), 0, 0, 0, 0); 

Вам не нужно будет использовать метод Document.SetMargins(). Я полагаю, что вы будете использовать SetMargins() после создания новой страницы, позвонив по номеру Document.NewPage().

1 голос
/ 25 ноября 2016

Вариант 1:

Document doc = new Document();
doc.setMargins(0 , 0 , 0 , 0);

Вариант 2:

Document pdf = new Document(new Rectangle(595 , 842 ), 0, 0, 0, 0); 

Где, 595x842 - это бумага формата A4.

...